Contactez-nous

Instructions conditionnelles : if, elif, else

Maîtrisez les instructions conditionnelles en Python (if, elif, else). Créez des programmes qui prennent des décisions en fonction de conditions. Découvrez les blocs imbriqués et les expressions conditionnelles.

Qu'est-ce qu'une instruction conditionnelle ? Principe et rôle

En programmation, une instruction conditionnelle permet d'exécuter un bloc de code uniquement si une certaine condition est vraie. Cela permet à un programme de prendre des décisions et d'adapter son comportement en fonction des données qu'il traite ou des événements qui se produisent.

Les instructions conditionnelles sont un élément fondamental de la logique de programmation. Elles sont présentes dans presque tous les langages de programmation, avec des syntaxes légèrement différentes.

En Python, l'instruction conditionnelle de base est l'instruction `if`. Elle est souvent accompagnée des mots-clés `elif` (contraction de "else if") et `else`.

L'instruction if : exécuter du code si une condition est vraie

L'instruction `if` permet d'exécuter un bloc de code si une condition est vraie. La syntaxe de base est la suivante :

if condition:
    # Bloc de code à exécuter si la condition est vraie

La `condition` est une expression qui est évaluée à une valeur booléenne (`True` ou `False`). Si la condition est vraie, le bloc de code indenté (c'est-à-dire décalé vers la droite) après le `:` est exécuté. Si la condition est fausse, le bloc de code est ignoré.

Exemple :

age = 20

if age >= 18:
    print("Vous êtes majeur.")

Dans cet exemple, le message "Vous êtes majeur." est affiché uniquement si la valeur de la variable `age` est supérieure ou égale à 18.

L'indentation est essentielle en Python. C'est elle qui délimite le bloc de code associé à l'instruction `if`. Si l'indentation est incorrecte, Python lèvera une erreur `IndentationError`.

L'instruction else : exécuter du code si la condition est fausse

L'instruction `else` permet d'exécuter un bloc de code si la condition de l'instruction `if` est fausse. Elle est toujours associée à une instruction `if`. La syntaxe est la suivante :

if condition:
    # Bloc de code à exécuter si la condition est vraie
else:
    # Bloc de code à exécuter si la condition est fausse

Exemple :

age = 15

if age >= 18:
    print("Vous êtes majeur.")
else:
    print("Vous êtes mineur.")

Dans cet exemple, le message "Vous êtes mineur." est affiché car la valeur de la variable `age` est strictement inférieure à 18.

L'instruction elif : tester plusieurs conditions

L'instruction `elif` (contraction de "else if") permet de tester plusieurs conditions successives. Elle est toujours placée entre une instruction `if` et une instruction `else` (optionnelle). La syntaxe est la suivante :

if condition1:
    # Bloc de code à exécuter si condition1 est vraie
elif condition2:
    # Bloc de code à exécuter si condition1 est fausse et condition2 est vraie
elif condition3:
    # Bloc de code à exécuter si condition1 et condition2 sont fausses et condition3 est vraie
else:
    # Bloc de code à exécuter si toutes les conditions précédentes sont fausses

Vous pouvez avoir autant d'instructions `elif` que nécessaire. Seul le bloc de code associé à la première condition vraie est exécuté. Si aucune condition n'est vraie, le bloc de code de l'instruction `else` (si elle est présente) est exécuté.

Exemple :

note = 14

if note >= 16:
    print("Très bien")
elif note >= 14:
    print("Bien")
elif note >= 10:
    print("Assez bien")
elif note >= 8:
 print("Passable")
else:
    print("Insuffisant")

Dans cet exemple, le message "Bien" est affiché.

Imbriquer des instructions conditionnelles : structures complexes

Il est possible d'imbriquer des instructions conditionnelles, c'est-à-dire de placer une instruction `if`, `elif` ou `else` à l'intérieur du bloc de code d'une autre instruction conditionnelle. Cela permet de créer des structures de décision complexes.

Exemple :

age = 20
permis = True

if age >= 18:
    if permis:
        print("Vous pouvez conduire.")
    else:
        print("Vous êtes majeur, mais vous ne pouvez pas conduire.")
else:
    print("Vous êtes mineur.")

Dans cet exemple, l'instruction `if permis:` est imbriquée à l'intérieur du bloc de code de l'instruction `if age >= 18:`.

Il est important de veiller à l'indentation lorsque vous imbriquez des instructions conditionnelles. Une mauvaise indentation peut entraîner des erreurs de syntaxe ou des comportements inattendus.

Il faut essayer d'éviter d'imbriquer trop de niveaux de conditions, cela rend le code difficile à lire et à maintenir.

Expressions conditionnelles (opérateur ternaire) : une syntaxe concise

Python propose une syntaxe concise pour écrire des expressions conditionnelles, parfois appelée "opérateur ternaire" (bien que ce ne soit pas un opérateur à proprement parler en Python). La syntaxe est la suivante :

valeur_si_vrai if condition else valeur_si_faux

Cette expression retourne `valeur_si_vrai` si la `condition` est vraie, et `valeur_si_faux` sinon.

Exemple :

age = 20
message = "Majeur" if age >= 18 else "Mineur"
print(message)  # Affiche Majeur

Les expressions conditionnelles sont utiles pour affecter une valeur à une variable en fonction d'une condition, ou pour retourner une valeur conditionnelle dans une fonction.

Il est recommandé d'utiliser les expressions conditionnelles avec parcimonie, car elles peuvent rendre le code moins lisible si elles sont trop complexes.