Les structures conditionnelles en Python

Les structures conditionnelles permettent d'ajouter de la logique dans l'exécution du code.

Grâce à des conditions, vous pouvez contrôler votre code et exécuter une action A plutôt qu'une action B par exemple.

Syntaxe

En Python, on écrit une structure conditionnelle grâce au mot clé if :

if condition:
    code
    ...

suite du code
...

Python exécute le code qui se trouve à l'intérieur de votre structure conditionnelle uniquement si la condition est vraie (True).

Si c'est False, le code n'est pas exécuté.

En Python, None et 0 sont des valeurs interprétées comme False

Autre chose, vous devez ajouter deux points : après la condition lors de la déclaration du if, sans quoi votre code ne fonctionnera pas.

De même, vous devez indenter votre code à l'intérieur de votre structure conditionnelle pour qu'il soit correctement interprété par Python.

La première ligne indentée marque le début du bloc de code et cela s'arrête à la première ligne qui ne l'est plus.

age = 24 
MAJORITE = 18

if age >= MAJORITE:
    print("Je suis majeur !")

print("J'ai", age, "ans !")

Dans cet exemple, je souhaite vérifier qu'un utilisateur est majeur.

Je définis une variable age qui correspond à l'âge de l'utilisateur fictif puis une constante MAJORITE qui est assignée à la valeur 18, l'âge légal de la majorité en France.

Je démarre ma structure conditionnelle avec le mot-clé if suivi de la condition age >= MAJORITE et de deux-points :

Si la variable age est égale à 18 ou plus, j'indente mon code et j'affiche le message Je suis majeur !

Dans tous les cas, le programme se termine par l'affichage de l'âge de l'utilisateur.

if / else

Dans le premier exemple, notre code faisait quelque chose de particulier uniquement si l'utilisateur était majeur.

Qu'en est-il s'il est mineur ?

Le mot clé else permet d'exécuter une condition si les conditions précédentes ne sont pas vérifiées.

On doit l'écrire au même niveau d'indentation que le if, finir par deux- points : puis indenter notre code.

age = 15 
MAJORITE = 18

if age >= MAJORITE:
    print("Je suis majeur !")
else:
    print("Je suis mineur..")

print("J'ai", age, "ans !")

if / elif / else

Le mot-clé elif (pour « else if », en français « sinon si ») permet d'ajouter des conditions supplémentaires à une structure conditionnelle.

On peut ajouter autant de elif que nécessaire.

Si la condition testée dans le if est False alors on testera celles du/des elif. Si toutes ces conditions retournent False alors on exécutera le code se trouvant dans le else.

age = 18 
MAJORITE = 18

if age > MAJORITE:
    print("Je suis majeur !")
elif age == MAJORITE:
    print("Tout juste majeur depuis aujourd'hui")
else:
    print("Je suis mineur..")

print("J'ai", age, "ans !")

Imbriquer des structures conditionnelles

Vous pouvez imbriquer une structure conditionnelle dans une autre structure, puis dans une autre, et encore une autre, etc...

On appelle ça de l'imbrication en français (« nesting » en anglais).

Il suffit de déclarer votre nouvelle structure à l'intérieur de la précédente avec une indentation.

Vous imbriquez ainsi, grâce à l'indentation, plusieurs structures les unes dans les autres, comme des poupées russes :

age = 18 
MAJORITE = 18

if age >= MAJORITE:
    print("Je suis majeur !")
    if age == MAJORITE:
        print("Tout juste majeur depuis aujourd'hui")
else:
    print("Je suis mineur..")

print("J'ai", age, "ans !")

Il est conseillé de ne pas trop abuser de cette imbrication pour que votre code reste lisible et facile à suivre.