Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Variables et affectations

Dans la feuille sur les valeurs et types, nous avons effectué des calculs et observé les résultats (type, valeur). Pour écrire des programmes, nous aurons besoin de mémoriser les résultats intermédiaires dans des variables pour en réutiliser les valeurs.

### BEGIN SOLUTION
1.0 / 2 * 14.5 * 100**2
### END SOLUTION
72500.0
### BEGIN SOLUTION
1.0 / 2 * 14.5 * 10**2
### END SOLUTION
725.0
### BEGIN SOLUTION
1.0 / 2 * 14.5 * 1000 * 1000
### END SOLUTION
7250000.0

Les variables

Lorsque l’on programme, il est souvent nécessaire de mémoriser une valeur, afin de pouvoir la réutiliser plus tard : un nombre, un nom d’utilisateur, des tickets d’avion encore disponibles, le jour de la semaine, un inventaire, etc. Pour cela on peut lui donner un nom en utilisant une variable.

Par exemple, dans la cellule suivante, nous utilisons deux variables v et m pour nommer la valeur de la masse et de la vitesse de l’objet, puis nous utilisons ces noms pour calculer son énergie cinétique :

m = 14.5
v = 1000

1.0 / 2 * m * v**2
7250000.0

Réutilisez la cellule précédente pour calculer l’énergie cinétique selon que la vitesse de l’objet est de 1, 10, 100, ou 1000 m/s.

La première affectation à une variable s’appelle aussi son initialisation. Tant qu’une variable n’a pas été initialisée, elle ne peux pas être utilisée car elle n’existe pas. Ainsi, si l’on exécute la cellule suivante, une erreur est déclenchée indiquant que la variable c n’est pas définie :

c
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[5], line 1
----> 1 c

NameError: name 'c' is not defined
a = 3

On peut maintenant réutiliser cette valeur, seule ou dans toute expression :

a
3
a + 1
4
a + a + a
9

On peut aussi modifier la valeur de a :

a = 5
a
5
a = a + 1
a
6
pi = 3.1415
r = 5

Aire :

### BEGIN SOLUTION
pi * r * r
### END SOLUTION
78.53750000000001

Périmètre :

### BEGIN SOLUTION
2 * pi * r
### END SOLUTION
31.415000000000003
r = 2.5

Aire :

### BEGIN SOLUTION
pi * r * r
### END SOLUTION
19.634375000000002

Périmètre :

### BEGIN SOLUTION
2 * pi * r
### END SOLUTION
15.707500000000001
r = 10

Aire :

### BEGIN SOLUTION
pi * r * r
### END SOLUTION
314.15000000000003

Périmètre :

### BEGIN SOLUTION
2 * pi * r
### END SOLUTION
62.830000000000005
# Ne pas changer les deux lignes suivantes
b = 5
c = 8

### BEGIN SOLUTION
temp = b
b = c
c = temp
### END SOLUTION
b  # doit afficher 8 (ancienne valeur de c)
8
c  # doit afficher 5 (ancienne valeur de b)
5
### BEGIN HIDDEN TESTS
assert b == 8
assert c == 5
### END HIDDEN TESTS

Conclusion

Dans cette feuille, nous avons introduit la notion de variable pour mémoriser des valeurs afin de les réutiliser ultérieurement, ainsi que pour améliorer la lisibilité des programmes. Il nous reste à pointer deux points d’attention. D’une part, il convient de ne pas confondre affectation et égalité, qui ont des syntaxes proches, mais des sémantiques très différentes.

D’autre part, si vous avez déjà programmé dans d’autres langages que Python, la sémantique des variables y était peut-être différente.