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.

Syntaxeformat_paragraph

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 / elseformat_paragraph

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 / elseformat_paragraph

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 conditionnellesformat_paragraph

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.