TP n°7 - Les variables en Python
1ère année maturité
Tout le contenu vu durant les TP fait partie entière de la matière à connaître lors d'évaluation.
Objectifs
- Définir, utiliser et modifier des variables.
- Ecrire un programme simple.
- Différencier les environnements Console et Turtle.
Editeur de code Thonny
Pour recommencer, je vous rappelle que nous utilisons l'éditeur Thonny pour coder en Python.
Fichier texte
En Python, un simple fichier texte permet d'écrire un programme. Il suffit de lui donner un nom et l'extension .py pour indiquer à la machine que ce fichier contient du code Python. La machine pourra alors lire ce fichier avec le bon "dictionnaire" et l'exécuter.
Exécuter un fichier Python
On dit qu'on exécute un fichier Python lorsque la machine lit le code et tente de faire ce qu'on lui a ordonné. Le code est lu de bas en haut, les instructions doivent être dans un ordre précis et la syntaxe doit être respectée sinon une erreur sera affichée.
Modules
Python est un langage simple qui permet d'intéragir dans une console. On peut utiliser des modules mis à disposition pour ajouter d'autres fonctionnalités. Par exemple, le module
Turtle permet de faire du dessin, ou le module math permet d'utiliser des fonctions mathématiques avancées comme de la trigonométrie.
Pour importer ces modules, nous avons vu deux méthodes.
from nom_du_module import *import nom_du_module
Dans les deux cas, il faut importer les modules avant d'écrire du code.
Téléchargez le fichier Exercice_7.1.py et sauvez-le dans votre dossier OneDrive. Au besoin, créez un sous-dossier TP7
Ecrivez un script Python afin d'obtenir un rendu comme ci-dessous en respectant les consignes suivantes:
- Il doit y a voir 7 points de diamètre 20px
- Le ségment entre chaque point doit être du double de leur diamètre.
- Vous êtes libres sur le choix de la couleur.
Un concpet fondamental en programmation est celui de variable. Nous allons découvrir par la pratique son fonctionnement.
Une variable sert à mémoriser une valeur pour
- la réutiliser,
- la modifier,
- éviter les répétitions,
- rendre le code plus lisible,
- centraliser l'information
Dans l'exercice précédent, si l'on souhaite modifier le diamètre des cercles, tout en conservant la contrainte de l'écart entre les points, combien d'endroits dans le code doivent être modifiés ?
Principes simples pour les variables
Si pour modifier le comportement de votre code, vous devez changez à plusieurs endroits une même valeur ou un multiple de cette valeur, alors vous aurez besoin d'une variable. Si une valeur se répète à plusieurs endroits du code, alors vous avez besoin d'une variable.
Nous allons voir comment simplifier ce procédé grâce à une variable.
Une variable possède un nom et une valeur. C'est le programmeur qui choisi son nom afin qu'il puisse savoir à quoi elle fait référence facilement.
Par exemple:
distance = 100
Ici, on stocke la valeur numérique 100 dans une variable nommée distance. On affecte la valeur à la varibale par le sigen =.
Une bonne variable en Python a un nom clair, en minuscules, sans accents, et explique ce qu’elle contient.
Exemples de nommages:
tailletaille_carretailleCarreepaisseur_traitageest_majeur
Utiliser une variable
A chaque fois qu'on a besoin d'utiliser la valeur de cette variable, il suffit écrire son nom à l'endroit précis du code. On dit alors qu'on appelle la variable.
Voici un exemple et son résultat.
Toujours l'exercice précédent:
- A la ligne 4, définissez une variable pour le diamètre des points et affectez lui la valeur 20.
- Modifiez le code pour que cette variable soit utilisée partout où cela est utile.
- Testez, puis modifiez la valeur de la variable à 50.
Le terme variable exprime le fait que sa valeur pourrait varier au cours du programme, à la différence des constantes qui ont des valeurs qui ne change jamais, comme PI.
Nous allons maintenant faire varier notre variable, en lui assignant une valeur différente à certains moments du programme.
- Modifier votre programme, pour que chaque cercle soit 10px plus grand que le précédent, le premier étant à 20px.
-
Si maintenant, on augmente la taille du premier à 30px, est-ce que votre solution fonctionne toujours? Si non, pourquoi ? Corrigez.
-
Modifier votre programme, pour créer un effet de symétrie.
En codant, on aime bien écrire plus simplement ou de manière condensée pour gagner du temps. Voici deux nouvelles astuces:
Simplification de certaines instructions (alias)
Certaines instructions, notamment dans Turtle peuvent s'écrire de manière courte.
| forward() | → | fd() |
| backward() | → | bk() |
| left() | → | lt() |
| right() | → | rt() |
| penup() | → | up() |
| pendown() | → | down() |
Ecriture de plusieurs instruction en une seule ligne
Parfois on préfére écrire sur une seule ligne plusieurs instructions qui ne servent à faire qu'une seule action, comme déplacer la Turtle à une coordonnée précise sans dessiner.
Il faut alors
séparer les instructions par un point-virgule.
penup(); goto(-300,200); pendown()
- Dans un nouveau fichier, écrivez un code qui dessine un double carré comme ci-dessous, en condensant votre code sur deux lignes pour dessiner les deux carrés (une pour chaque carré).
Définissez également la taille d'un côté dans une variable au début du programme et dessinez-le en couleur avec une largeur de trait de 3px.
- hideturtle() permet de cacher la tortue (pointeur) lors du dessin. Et la fonction
speed(n)définit la vitesse de dessin, où n est compris entre 0 et 10.
Ajoutez ces deux fonctions au début de votre code et trouvez quelle valeur il faut donner à speed pour dessiner le plus rapidement possible. - La fonction
seth(angle)oriente la tortue selon l'angle passé en paramètre en degré. Un angle de 0 oriente vers la droite, à 90 vers le haut. Avant de dessiner votre figure, ajoutez cette fonction et essayez plusieurs valeurs d'angle différentes. - Vous devriez avoir 3 lignes pur dessiner le double carré selon une orientation de départ. Définissez la première orientation à 0, puis dessiner un deuxième double carré avec une orientation de 15 degrés, puis un troisième avec une orientation de 30 degrés.
- Définissez un variable step et assignez lui la valeur 15. Utilisez cette variable comme paramètre de la fonction
seth()pour vos 3 double carrés. - Et si vous répétiez ce double carré 12 fois... qu'est-ce que cela donne...
Voyons maintenant une utilisation des variables dans un programme normal sans Turtle.
Rappel:
print("texte_a_afficher")affichera le texte saisi
print(une_variable)affichera la valeur stockée dans la variable une_variable
- stocke dans une variable
prix_ht, un prix hors taxe - stocke dans une autre variable, la TVA de 8.1%. Attention : Python a besoin de connaître que la valeur numérique.
- calcule le prix TTC, soit le prix avec TVA, et le stocke dans une variable
prix_ttc - affiche le prix TTC