5. Arithmétique et variables
Arithmétique⚓︎
Opérations mathématiques
Les opérations mathématiques de base s'écrivent ainsi en Python :
En math | En Python |
---|---|
\(x+y\) | x + y |
\(x-y\) | x - y |
\(x\times y\) | x * y |
\(x\div{}y\) | x / y |
\(x^2\) | x**2 |
\(x^3\) | x**3 |
\(x^y\) | x**y |
Reste de la division euclidienne de \(x\) par \(y\) | x%y |
Quotient de la division euclidienne de \(x\) par \(y\) | x//y |
Python respecte les priorités de calcul.
Par exemple, l'expression \(\dfrac{5\times(7-4)}{2}\) s'Ă©crit (5 * (7-4)) / 2
.
Nombre décimaux
En Python, les nombres décimaux s'écrivent avec un ".
" à la place de la virgule. Dans l'exemple précédent le premier résultat est décimal.
Python distingue les nombres entiers et décimaux. Ainsi, 2.0
est un nombre décimal, alors que 2
est entier.
Attention avec les nombres décimaux !!
Lorsqu'on utilise des nombres décimaux, il faut faire très attention ! Les calculs sont souvent approximatifs !
Effectue le calcul suivant : \(0.1+0.1+0.1\)
Expressions et espaces
Dans les exemples précédents, on peut remarquer qu'il y a parfois des espaces dans les expressions et parfois non. Ces espaces sont optionnels. Pour Python, les expressions suivantes sont équivalentes et ne font aucune différence pour l'interpréteur :
2 + 3 * 4
2+3*4
2 + 3*4
2+3 * 4
2
+
3 *
4
Les espaces sont vraiment là pour le lecteur humain et n'indiquent en rien les priorités de calcul pour Python. En particulier, 2 + 3*4
et 2+3 * 4
donnent bien le même résultat.
Dans la pratique, on met un espace avant et après chaque opérateur (+
, -
, ...) mais qu'en cas de priorité différentes, on ne mettra pas d'espaces autour des opérateurs les plus prioritaires. C'est pourquoi, on préférera 2 + 3*4
aux autres Ă©critures.
Variables⚓︎
Affecter une valeur Ă une variable
Faire un calcul, c'est bien, mais faire quelque chose avec le résultat c'est mieux.
Pour pouvoir exploiter les résultats calculés, on peut les garder en mémoire. Afin de pouvoir utiliser cette valeur, il faut donner un nom à l'endroit où il se trouve en mémoire. On appelle cela une variable. Lorsqu'on associe une valeur à une variable, on dit qu'on affecte cette valeur à la variable. Pour faire une affectation, il suffit d'écrire : variable = expression
.
>>> une_variable = 0
>>> UneAutreVariable = "Bonjour"
>>> _une_3eme = 7
>>> _4_fois_3 = 12
LĂ aussi, les espaces autour de =
sont optionnels mais conseillés pour plus de lisibilité.
Syntaxe des noms de variables
On ne peut pas écrire n'importe quoi pour le nom d'une variable. En Python, ce nom doit respecter les règles suivantes :
- commencer par une lettre ou un
_
; - contenir des lettres, des chiffres et des
_
.
Exercice 3
Parmi les noms suivants, déterminer ceux qui sont des noms valides de variables en Python.
-
variable
-
une variable
-
apollo13
-
S_N_T
-
2fois3
-
vOITure
-
variable
-
une variable
: Il y a un espace, ce qui est interdit. -
apollo13
-
S_N_T
-
2fois3
: Une variable ne peut pas commencer par un chiffre. -
vOITure
Exercice 4 (répondre sur la feuille)
Parmi les noms suivants, déterminer ceux qui sont des noms valides de variables en Python.
-
2_de
-
Lycee3Sources
-
S N T
-
trois*rien
Utilisation d'une variable
Pour obtenir la valeur d’une variable il faut juste taper son nom dans le terminal. On peut aussi utiliser la fonction print
:
Une fois la variable affectée, on peut l’utiliser dans des opérations.
Il est aussi possible de modifier la valeur d’une variable.
Utiliser la valeur précédente d'une variable pour calculer sa nouvelle valeur
On peut utiliser la valeur actuelle d’une variable pour lui en donner une nouvelle.
Il faut donc bien penser que la partie de droite de l'affectation est évaluée avant de faire l'affectation. Après la première affectation a
vaut 5
. Pour la deuxième affectation, l'interpréteur commence par calculer a+1
, qui vaut 6
, et l'affecte ensuite Ă a
qui vaut donc 6
.
Attention !
Le symbole " \(=\) " n'a donc pas la même signification qu'en mathématiques. En effet, un nombre \(a\) n'est jamais égal à \(a+1\).
Lorsqu'on Ă©crit a=a+1
, il faut lire :
Ă€ la variable a
, on affecte la valeur : "ancienne valeur de a
" plus 1.
Exercice 5 (répondre sur la feuille)
DĂ©terminer la valeur de b
à la fin de cette séquences d'instructions. Vous pouvez demander à Python de vous afficher le résultat.
Solution
Pour ce genre d'exercices, il peut être utile de faire ce qu'on appelle un tableau de suivi : c'est un tableau qui permet de connaître le contenu de chaque variable après chaque instruction du programme (c'est-à -dire chaque ligne) :
n° ligne | a | b |
---|---|---|
1 | 9 | - |
2 | 9 | 2 |
3 | 11 | 2 |
4 | 11 | 22 |
Affectations et opérations simultanées
Il existe des raccourcis pour ajouter ou enlever une valeur Ă une variable.
De la même façon, il existe des raccourcis pour multiplier ou diviser la valeur d'une variable par un nombre.
Variables et casse
Les noms en Python sont sensibles à la casse. Cela veut dire que Python fait la différence entre majuscule et minuscule. Ainsi nom
, NOM
, Nom
ou nOm
sont considérées comme 4 variables différentes.
Erreur de variable
Lorsqu'on se trompe sur le nom d'une variable, ou qu'on essaie d'utiliser sa valeur avant de lui en avoir affecté une, on obtient un message d'erreur : NameError: name 'varialbe_inconnue' is not defined
.
Cela veut dire que le nom, ici varialbe_inconnue
, ne correspond à aucun nom connu par Python pour la session actuelle. En général, c'est qu'on a mal écrit le nom de la variable. Dans cet exemple, c'était peut-être variable_inconnue
que l'ont voulait Ă©crire.
# Tests
(insensible Ă la casse)(Ctrl+I)