Bonjour ! Dans la leçon précédente, nous avons exploré les opérateurs qui vous permettent d'effectuer des calculs et de poser des questions à vos données, obtenant en retour des réponses True ou False. Cette base est fondamentale, car elle nous permet de passer à l'étape suivante : rendre nos programmes "intelligents".
Cette leçon porte sur le contrôle de flux (program flow). Vous allez apprendre à utiliser les instructions conditionnelles if, elif et else. Ce sont les outils qui permettent à un programme de prendre des décisions et d'exécuter différents blocs de code en fonction des conditions que vous définissez. Maîtriser ces instructions est une étape cruciale pour passer de l'écriture de scripts linéaires à la création de programmes dynamiques et réactifs.
Introduction au contrôle de flux avec if, elif et else
Pour commencer, je vous propose de visionner cette vidéo complète de la chaîne Elzero Web School. Elle est en arabe et couvre l'ensemble des concepts que nous allons aborder dans cette leçon. Elle vous donnera une excellente vue d'ensemble, de la structure la plus simple (if) à la plus complexe (if-elif-else).
Learn Python in Arabic #041 - Control Flow - If, Elif, Else
Cette vidéo explique de manière très claire comment utiliser les instructions conditionnelles pour contrôler le déroulement d'un programme Python.
Regardez l'intégralité de la vidéo (environ 17 minutes). Elle vous servira de base solide pour le reste de la leçon. Concentrez-vous sur la syntaxe : l'utilisation des deux-points (:) et, surtout, de l'indentation (le décalage du code) pour définir les blocs.
Maintenant que vous avez une vue d'ensemble, décomposons ces concepts pas à pas.
1. La décision simple : l'instruction if
L'instruction if est la forme la plus simple de prise de décision. Elle exécute un bloc de code uniquement si une condition est True. Si la condition est False, le bloc de code est tout simplement ignoré.
La syntaxe est la suivante :
if condition:
# Ce bloc de code s'exécute si la condition est True.
# Notez l'indentation (généralement 4 espaces).
L'indentation n'est pas juste une question de style en Python ; c'est une règle de syntaxe. C'est elle qui dit à Python quel code appartient au bloc if. Une erreur d'indentation est l'une des erreurs les plus courantes pour les débutants.
La vidéo suivante, de Bro Code, illustre ce concept de manière très directe.
If statements in Python are easy (if, elif, else) 🤔
Cette vidéo montre un exemple simple et pratique de l'utilisation de if et else.
Regardez la première partie, qui couvre l'instruction if de base. Observez comment le code à l'intérieur du if ne s'exécute que lorsque la condition est vraie. Ensuite, regardez l'introduction de l'instruction else pour gérer le cas où la condition est fausse.
2. Le choix binaire : if et else
Souvent, vous voulez exécuter un bloc de code si une condition est vraie, et un autre bloc si elle est fausse. C'est là que l'instruction else entre en jeu. Elle sert d'alternative et s'exécute uniquement lorsque la condition du if est False.
age = 17
if age >= 18:
print("Vous êtes majeur.")
else:
print("Vous êtes mineur.")
Dans cet exemple, comme age >= 18 est False, seul le message "Vous êtes mineur." sera affiché. La structure if-else garantit qu'exactement un des deux blocs sera exécuté.
Pour une référence écrite, l'article de DigitalOcean est très clair.
How to Use If/Else Statements in Python: A Beginner's Guide
Cet article présente la syntaxe de base de if et if-else avec des exemples simples.
Lisez la section d'introduction et la partie sur la syntaxe de base. Cela renforcera ce que vous venez de voir dans les vidéos.
3. Les choix multiples : if, elif et else
Que faire si vous avez plus de deux possibilités ? Par exemple, un nombre peut être positif, négatif ou nul. Utiliser des if imbriqués peut devenir confus. Python propose une solution élégante : elif, une contraction de "else if".
La structure if-elif-else vous permet de vérifier une série de conditions les unes après les autres.

Voici la logique :
- Python teste la condition
if. Si elle estTrue, son bloc est exécuté, et c'est tout. - Si la condition
ifestFalse, Python teste la première conditionelif. Si elle estTrue, son bloc est exécuté, et c'est tout. - Ce processus continue pour chaque
elif. - Si aucune des conditions
ifouelifn'estTrue, le blocelse(s'il existe) est exécuté.
How to Use If/Else Statements in Python: A Beginner's Guide
Cette section de l'article de DigitalOcean explique parfaitement la structure if-elif-else avec un exemple de notation de notes.
Lisez la section if-elif-else. L'exemple des notes (marks) est un cas d'utilisation classique et très compréhensible.
Point crucial : l'ordre est important !
Les conditions sont vérifiées dans l'ordre où elles sont écrites. Cela peut avoir des conséquences importantes.
If statements in Python are easy (if, elif, else) 🤔
Cette partie de la vidéo de Bro Code met en évidence un point très important : l'ordre des elif peut changer le comportement de votre programme.
Regardez la section sur l'instruction else if (elif). Faites particulièrement attention à l'exemple où il déplace la condition age >= 100 pour corriger la logique du code.
4. Construire des conditions complexes
Parfois, une simple comparaison ne suffit pas. Vous pourriez vouloir vérifier plusieurs choses à la fois.
Opérateurs logiques : and, or, not
Ces opérateurs vous permettent de combiner les résultats booléens des opérateurs de comparaison :
condition1 and condition2: EstTrueseulement si les deux conditions sontTrue.condition1 or condition2: EstTruesi au moins l'une des deux conditions estTrue.not condition: Inverse la valeur booléenne.not TruedevientFalse, etnot FalsedevientTrue.
temperature = 25
heure = 14
if temperature > 20 and heure > 12:
print("C'est un après-midi chaud.")
Imbrication (Nested if)
Vous pouvez placer une structure if à l'intérieur d'une autre. Cela est utile pour des vérifications en cascade.

L'imbrication permet une logique plus fine que elif. Dans l'exemple ci-dessus, le programme vérifie d'abord si x est plus grand que 10, puis, s'il est pair ou impair.
How to Use If/Else Statements in Python: A Beginner's Guide
Ces sections vous montreront comment créer des logiques plus complexes en imbriquant des conditions et en utilisant des opérateurs logiques.
Lisez rapidement la section sur les instructions if imbriquées et la section sur la gestion de conditions multiples avec and, or, not.
Pratique et erreurs courantes
Mettons tout cela en pratique. Avant de vous lancer, voici deux erreurs très fréquentes chez les débutants :
=vs==: C'est une erreur classique.x = 10est une affectation : elle met la valeur 10 dans la variablex.x == 10est une comparaison : elle vérifie si la valeur dexest égale à 10 et renvoieTrueouFalse. Utiliser=dans unifprovoquera une erreur.
IndentationError: Comme mentionné, l'indentation est cruciale en Python. Assurez-vous que tout le code à l'intérieur d'un blocif,elifouelseest décalé de manière cohérente (la convention est de 4 espaces).
Pratique dans Jupyter :
Ouvrez un notebook et expérimentez avec le code suivant. Modifiez les valeurs des variables age et possede_permis pour voir comment la sortie change.
age = 20
possede_permis = True
print(f"Analyse pour une personne de {age} ans.")
if age < 18:
print("Vous êtes mineur.")
elif age >= 18 and age <= 25:
print("Vous êtes un jeune adulte.")
if possede_permis:
print("Et vous pouvez conduire !")
else:
print("Mais vous n'avez pas encore le permis.")
elif age > 65:
print("Vous êtes un senior.")
else:
print("Vous êtes un adulte.")
# Un autre exemple
note = 85
if note >= 90:
grade = 'A'
elif note >= 80:
grade = 'B'
elif note >= 70:
grade = 'C'
else:
grade = 'F'
print(f"Avec une note de {note}, votre grade est {grade}.")
Conclusion
Excellent travail ! Vous avez acquis l'une des compétences les plus fondamentales de la programmation. Vous pouvez désormais écrire des programmes qui s'adaptent et réagissent à différentes situations.
Points clés à retenir :
- Les instructions
if,elifetelsecontrôlent le chemin que votre programme exécute. ifteste une condition.elifteste d'autres conditions si la précédente était fausse.elseest l'option par défaut si aucune condition n'est vraie.- L'indentation est la manière dont Python délimite les blocs de code. Elle est obligatoire et doit être cohérente.
- Les opérateurs logiques
and,oretnotsont utilisés pour créer des conditions complexes. - Il faut toujours utiliser
==pour la comparaison et=pour l'affectation.
Maintenant que nous savons comment exécuter du code de manière conditionnelle, comment pourrions-nous répéter une action plusieurs fois sans réécrire le même code ? C'est ce que nous allons découvrir dans la prochaine leçon en explorant les boucles for et while.