Un instruction conditionnelle est composée d’un test puis d'un bloc d'instructions.
En Python, le test commence par le mot clef if
suivi d’une
condition à valeur booléenne (True
ou False
) et se termine par le symbole :
.
Le bloc d’instructions qui suit s'exécute si et seulement si le test a pour valeur True
. Il correspond à un embranchement dans le flux d'instructions.
En Python, un bloc d'instructions commence à la première ligne suivant le symbole :
et son imbrication dans le reste du programme est caractérisée par son niveau d'indentation. Toutes les instructions d'un même bloc doivent avoir le même niveau d'indentation. Le flux principal d'instructions est collé contre la marge puis chaque niveau d'indentation est décalé de quatre espaces ou une tabulation vers la droite.
# flux parent
if conditionA:
#bloc d'instructions exécuté si la valeur de conditionA est True
if conditionB:
#bloc d'instructions imbriqué, exécuté si conditionA est à True
# et si conditionB est à True
# retour au flux parent
Si la condition du test n'est pas vérifiée, on peut prévoir l'exécution d'un bloc d'instructions alternatif après un else :
.
# flux parent
if condition:
#bloc d'instructions exécuté si la valeur de condition est True
else:
#bloc d'instructions exécuté si la valeur de condition est False
#retour au flux parent
On peut aussi tester d'autres conditions mutuellement exclusives pour modéliser un choix entre plus de deux alternatives. Chaque condition testée dans un elif condition :
commande un bloc d'instructions et un bloc d'instructions par défaut peut se trouver après un else :
.
# flux parent
if condition1:
#bloc d'instructions exécuté si la valeur de condition1 est à True
elif condition2:
#bloc d'instructions si condition2 est True (et condition1 est à False)
elif condition3:
#bloc d'instructions si condition3 est True (et condition1 et condition2 sont à False)
else :
#bloc d'instruction si toutes les conditions précédentes sont à False
#retour au flux parent