Flot de contrôle¶
Pour l’instant, toutes les instructions que nous avons écrites ont été exécutée une par une et dans l’ordre d’apparition dans le code source.
De plus, chaque ligne était constituée d’une unique expression.
Modifier l’ordre d’exécution de ces instructions s’appelle modifier le flot de contrôle, et c’est l’essence de la programmation!
if¶
On peut utiliser le mot-clé if
pour autoriser ou empécher
l’éxcution des instructions suivantes:
a = 3
b = 4
if a == b:
print("a et b sont égaux")
# n'affiche rien
La 4ème ligne n’est pas éxécutée parce la condition est fausse.
Notes:
il y a le caractère
:
(deux points) à la fin de la lignele code en-dessous du
if
commence par 4 espaces: on appelle cela une indentation
Notez qu’on a utilisé une expression après le if.
On ne peut pas utiliser d’instruction après un if
en Python.
Autrement dit, ce code ne fonctionne pas:
if a = 3:
print("a égale 3")
# affiche: SyntaxError
On parle aussi de « bloc » si plusieurs lignes sont identées:
a = 3
b = 4
if a == b:
# début du bloc
print("a et b sont égaux")
c = 2 * a
# fin du bloc
Notez qu’on reprend l’ordre habituel d’éxécution des instructions s’il
y a un bloc identé dans l’autre sens après le if
:
a = 3
b = 4
if a == b:
# début du bloc
print("a et b sont égaux")
c = 2 * a
# fin du bloc
# on est après le bloc if
print("on continue")
Ce code n’affiche pas « a et b sont égaux », mais affiche bien « on continue ».
if / else¶
On peut utiliser le mot-clé else
après un condition en if
pour éxécutér un bloc si la condition est fausse:
a = 3
b = 4
if a == b:
print("a et b sont égaux")
else:
print("a et b sont différent")
# affiche: a et b sont différents
if / elif¶
On peut utiliser if
, elif
et else
pour enchaîner plusieurs
conditions:
age = 23
if age < 10:
print("âge inférieur à dix")
elif 10 <= age < 20:
print("âge entre 10 et 20")
elif 20 <= age < 40:
print("âge entre 20 et 40")
else:
print("âge supérieur à 40")
# affiche: âge entre 20 et 40
while¶
On peut utiliser le mot-clé while
pour répéter un bloc tant qu’une condition
est vraie:
i = 0
while i < 3:
print(i)
i = i + 1
0
1
2
Notez que la variable i
passe par plusieurs valeurs différentes.
Boucle infinie¶
On parle de boucle infinie si la condition ne devient jamais fausse:
while True:
print("spam!")
Dans ce cas, il faut appuyer sur CTRL-C
pour interrompre
le programme.
Combiner while, if, et break¶
On peut « sortir » de la boucle while
avec le mot-clé break
:
i = 0
while True:
i = i + 1
print(i)
if i > 3:
break
1
2
3
4