6.1 if else
En Python, comme dans beaucoup de langages de programmation, les commandes peuvent être exécutées non seulement de manière linéaire, mais aussi sélectivement, selon une certaine condition. Une telle construction s'appelle une instruction conditionnelle. L'apparence générale d'une instruction conditionnelle est la suivante :
if condition:
commande1
else:
commande2
Si condition est vraie (True
), alors commande1 s'exécutera. Si c'est faux (False
), alors commande2 s'exécutera. Les commandes ne seront jamais exécutées simultanément : c'est l'une ou l'autre.
Important!
La ou les commandes enfant
doivent absolument(!) être indentées
de 4 espaces par rapport aux commandes if
et else
. Je parlerai plus en détail de cela dans la prochaine conférence « Bloc de commandes ».
Exemples :
|
La condition y > 5 est fausse, donc la branche else s'exécutera et le programme imprimera "y n'est pas plus grand que 5"
|
Encore un exemple :
|
Si l'utilisateur entre 18 ou plus, le programme imprimera « vous êtes majeur », sinon il imprimera « va faire tes devoirs ». |
6.2 if sans else
Il existe 2 autres formes de l'instruction conditionnelle – raccourcie et allongée.
Dans la forme raccourcie, la partie else
est absente.
if condition:
commande
Si la condition est vraie, la commande s'exécutera. Si ce n'est pas vrai, rien ne s'exécutera – le programme continuera et exécutera les autres commandes, si elles existent.
Exemple :
|
Si l'utilisateur entre 21 ou plus, le programme imprimera « voici votre bière ». Si le nombre est inférieur à 21 – le programme n'imprimera rien. |
6.3 if elif else
La forme allongée de l'instruction if
else
permet de coller plusieurs instructions if
else
en une seule.
Supposons que vous voulez déterminer à quel quart du plan de coordonnées appartient un point avec les coordonnées x
et y
. Voici comment vous pouvez le faire en utilisant les instructions if
et else
:
|
Si x > 0 et y > 0, l'inscription « premier quart » s'affichera. Si x < 0 et y > 0, « deuxième quart » s'affichera. Si x < 0 et y < 0, « troisième quart » s'affichera. Si x > 0 et y < 0, « quatrième quart » s'affichera. |
Puisqu'il est impossible de ne pas indenter et que le code doit rester lisible, un opérateur spécial elif
a été conçu, qui permet de transformer de telles chaînes de if en quelque chose de plus lisible. Il ressemble à ceci :
if condition1:
commande1
elif condition2:
commande2
elif conditionN:
commandeN
else:
commandeElse
Le mot-clé elif
est une abréviation de else
if
. Et le code de l'exemple ci-dessus peut maintenant être écrit sous la forme :
|
Si x > 0 et y > 0, l'inscription « premier quart » s'affichera. Si x < 0 et y > 0, « deuxième quart » s'affichera. Si x < 0 et y < 0, « troisième quart » s'affichera. Si x > 0 et y < 0, « quatrième quart » s'affichera. |
GO TO FULL VERSION