Variables#
Définition#
Nous pouvons nous représenter une variable comme l'association d'une étiquette (nom de la variable) et d'une case pouvant contenir une donnée (emplacement dans la mémoire).
Une variable permet de stocker une valeur numérique, une chaîne de caractères, etc. qu'on réutilisera par la suite dans notre programme. Pour un programmeur, une variable est définie par un nom. Mais pour l'ordinateur, il s'agit d'une adresse (emplacement de la mémoire où est stockée cette donnée).
Attention
Règles à respecter:
Le nom de la variable doit correspondre à son contenu.
Exemple: age, hauteurLe caractère _ permet de séparer les mots dans un nom de variable.
Exemple: cote_carreLe nom d'une variable ne doit pas contenir de caractère accentué.
Le nom d'une variable doit commencer par une lettre ou le caractère de soulignement.
Le nom d'une variable ne peut contenir que les caractères alphanumériques (A-z 0-9 et _)
Les majuscules et les minuscules font une différence. Exemple: mon_age, mon_Age, mon_AGE sont trois variables différentes
Types de données#
En Python, il existe 4 types de données primitifs.
Type |
Nom |
Description |
Exemple |
---|---|---|---|
int |
integer |
Nombres entiers |
4 |
float |
flottant |
Nombres à virgules |
4.125 |
str |
string |
Chaînes de caractères |
"Bonjour" |
bool |
booléen |
Résultat d'un test: Vrai ou Faux |
2<1 renvoie False |
Exercice 1#
De quel type sont les variables suivantes:
Affectation d'une variable#
L'affectation d'une variable se fait avec un nom de variable, suivi du signe =
et de la valeur.
1age = 17 # La variable age est de type int
2prenom = "Bob" # La variable prenom est de type str
3moyenne = 5.2 # La variable moyenne est de type float
4promu = True # La variable promu est de type bool
Exercice 2#
Ce programme Python déclare 5 variables, mais contient une erreur par ligne. Trouvez et corrigez-les.
6 = age
message = Je suis absent
note = 4,5
porte_ouverte = false
nombre de voitures = 10
Solution
1age = 6
2message = "Je suis absent"
3note = 4.5
4porte_ouverte = False
5nombre_de_voitures = 10
À la création d'une variable, le nom doit toujours être à gauche du signe égal, et la valeur à droite.
Une valeur de type
str
doit être entourée de guillemets.Une valeur de type
float
s'écrit non pas avec une virgule mais avec un point.Une valeur de type
bool
prend une majuscule àTrue
etFalse
.Les noms de variables ne peuvent pas contenir d'espaces. Généralement, en Python, on les remplace alors par le caractère de soulignement.
Opérateurs mathématiques#
Les opérateurs mathématiques permettent de faire des calculs simples avec les nombres.
Opérateur |
Nom |
Exemple |
Résultat |
---|---|---|---|
+ |
Addition |
3 + 4 |
7 |
- |
Soustraction |
9 - 12 |
-3 |
* |
Multiplication |
5 * 6 |
30 |
/ |
Division |
11 / 2 |
5.5 |
** |
Puissance |
2 ** 3 |
8 |
// |
Division entière |
26 // 6 |
4 |
% |
Modulo (reste de la division entière) |
26 mod 6 |
2 |
Exercice 3#
Quel est le résultat des expressions suivantes en Python?
Exécution d'un programme#
Lors de l'exécution d'un programme, Python va lire les instructions ligne par ligne et les effectuer. Afin de comprendre comment fonctionne un programme et évaluer le résultat, nous allons utiliser des tableaux d'états. Ceux-ci permettent de connaître à chaque ligne, la valeur des variables.
Exemple 1#
Programme | Tableau d'états | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1a = 10
2b = 30
3c = a + b
4d = c * a
5a = 2 * a
6
7# Affiche les valeurs des variables
8print(a, b, c, d)
|
|
Exercice 4#
Déterminez la valeur de chacune des variables de ce programme en créant un tableau d'états.
1x = 10
2y = 2
3z = y * x
4y = z + x
5x = y - z / 2
6z = z * 2
7y = 5
8
9# Affiche les valeurs des variables
10print(x, y, z)
Solution
1x = 10
2y = 2
3z = y * x
4y = z + x
5x = y - z / 2
6z = z * 2
7y = 5
8
9# Affiche les valeurs des variables
10print(x, y, z)
x |
y |
z |
---|---|---|
10 |
? |
? |
10 |
2 |
? |
10 |
2 |
20 |
10 |
30 |
20 |
20 |
30 |
20 |
20 |
30 |
40 |
20 |
5 |
40 |
Exercice 5#
Déterminez la valeur de chacune des variables de ce programme en créant un tableau d'états.
1nombre_habitants = 150 + 25 * 2
2cout = 100
3prix = nombre_habitants * cout
4cout = cout / 2
5nombre_habitants = nombre_habitants - 100
6prix = prix + nombre_habitants * cout
7nombre_habitants = 400
8prix = prix + nombre_habitants * cout
9
10# Affiche les valeurs des variables
11print(nombre_habitants, cout, prix)
Solution
1nombre_habitants = 150 + 25 * 2
2cout = 100
3prix = nombre_habitants * cout
4cout = cout / 2
5nombre_habitants = nombre_habitants - 100
6prix = prix + nombre_habitants * cout
7nombre_habitants = 400
8prix = prix + nombre_habitants * cout
9
10# Affiche les valeurs des variables
11print(nombre_habitants, cout, prix)
nombre_habitants |
cout |
prix |
---|---|---|
200 |
? |
? |
200 |
100 |
? |
200 |
100 |
20000 |
200 |
50 |
20000 |
100 |
50 |
20000 |
100 |
50 |
25000 |
400 |
50 |
25000 |
400 |
50 |
45000 |
Exercice 6#
Complétez le programme ci-dessous de manière à ce qu'il calcule la moyenne des notes principales dans la variable du même nom. La note de math est de 4 et demi, la note de français de 6 et la note d'allemand de 5 et demi.
# Complétez le programme
math =
francais =
allemand =
moyenne =
# Affiche la valeur de la moyenne
print(moyenne)
Solution
1math = 4.5
2francais = 6
3allemand = 5.5
4moyenne = (math + francais + allemand) / 3
5
6# Affiche la valeur de la moyenne
7print(moyenne)
Pour calculer la moyenne, on additionne toutes les notes avant de diviser le résultat par le nombre de notes, ici 3.
Comme la division a la priorité sur l'addition, il ne faut pas oublier de régler la priorité des opérations avec des parenthèses.
Exercice 7#
Écrivez un petit programme en Python permettant de calculer le volume d'un cylindre en fonction de son rayon et de sa hauteur. Le programme contiendra les lignes suivantes :
Créer une variable
pi
contenant la valeur3.14
.Créer une variable
hauteur
contenant la valeur30
Créer une variable
rayon
contenant la moitié de 11Créer une variable
aire_disque
contenant le résultat de \(\pi \cdot r^2\)Créer une variable
volume
contenant le résultat de l'aire du disque multiplié par la hauteur.
Au terme de l'exécution de ce programme, la variable volume
devrait
contenir la valeur 2849.55
# Écrivez le programme ici
# Affiche le volume
print(volume)
Solution
1pi = 3.14
2hauteur = 30
3rayon = 11 / 2 #ou rayon = 5.5
4aire_disque = pi * rayon ** 2
5volume = aire_disque * hauteur
6
7# Affiche le volume
8print(volume)
Opérateurs d'affectation#
Les opérateurs d'affectation combinée permettent de modifier la valeur des variables avec une notation simplifiée. Il existe pour tous les opérateurs mathématiques, voici les principaux.
Opérateur |
Exemple |
Équivalent à |
---|---|---|
= |
x = 6 |
x = 6 |
+= |
x += 6 |
x = x + 6 |
-= |
x -= 6 |
x = x - 6 |
*= |
x *= 6 |
x = x * 6 |
/= |
x /= 6 |
x = x / 6 |
Exercice 8#
Écrivez un programme Python contenant une variable x
initialisée à 10.
Puis, compléter ce programme pour que celui-ci effectue les opérations
suivantes:
Ajoute 3 à
x
Soustrais 8 à
x
Multiplie
x
par 10Divise
x
par 5Élève
x
à la puissance 3
À la fin de l'exécution de ce programme, la variable x
devrait contenir la
valeur 1000
# Écrivez le programme ici
Solution
1x = 10
2x += 3
3x -= 8
4x *= 10
5x /= 5
6x **= 3
7
8print(x)
Exercice 9 (difficile)#
Lisez attentivement le programme ci-dessous et expliquez, en français, ce qu'il
fait. À quoi correspondent les variables h1
, h2
, et total
.
1CHF_par_h1 = 32.5
2CHF_par_h2 = 40
3heure_debut = 20
4temps_de_travail = 8.5
5h1 = (heure_debut + temps_de_travail)
6h2 = temps_de_travail - h1
7total = h1 * CHF_par_h1 + h2 * CHF_par_h2
Solution
Ce programme permet de calculer et stocker le salaire d'un employé dans la
variable total
. De toute évidence, cet employé travail de nuit comme il a
commencé à 20h et a travaillé durant 8 heures et demie. La variable h1
contient le nombre d'heures passées après minuit (en effet, le reste de la
division entière de 28.5 par 24 nous donne 4.5, et l'employé a bien fini de
travailler à 4 heure et demie). Ainsi, en soustrayant h1
aux nombres d'heures
travaillées au total, h2
contient le nombre d'heures travaillées avant minuit.
Ces deux variables permettent de calculer le salaire total avec les taux corrects.