1.2Conditions (if / elif / else)
Un programme doit prendre des décisions : « si l'utilisateur est majeur, alors… ». C'est le rôle des conditions avec if, elif et else. Elles s'appuient sur des expressions booléennes (vrai/faux) et les opérateurs de comparaison.
Point crucial et propre à Python : l'indentation (le décalage par espaces) délimite les blocs — là où d'autres langages utilisent des accolades. Une indentation incohérente provoque une IndentationError. Bien la comprendre ici vous évitera l'erreur la plus fréquente du débutant.
Vocabulaire de la section
- if / elif / else
- if teste une condition ; elif (else if) teste une autre si la précédente est fausse ; else couvre tous les autres cas.
- Indentation
- Décalage en début de ligne (4 espaces par convention) qui définit à quel bloc appartient une instruction. Obligatoire en Python.
- Opérateurs de comparaison
- ==, !=, <, >, <=, >= : comparent deux valeurs et renvoient un booléen.
- Opérateurs logiques
- and (et), or (ou), not (non) : combinent plusieurs conditions.
- Expression booléenne
- Toute expression qui vaut True ou False, évaluée par la condition.
Quelle est la différence entre = et == ?
En pratique — Écrire des branchements avec if/elif/else
- Écrivez un programme qui lit un âge (input converti en int) et affiche « Majeur » si ≥ 18, sinon « Mineur ». Soignez l'indentation des blocs.
- Ajoutez un cas intermédiaire avec elif : « Enfant » (< 12), « Adolescent » (< 18), « Adulte » (sinon).
- Combinez des conditions : « if age >= 18 and permis == True ». Testez and, or et not.
- Provoquez volontairement une IndentationError (décalez une ligne), lisez le message, puis corrigez : familiarisez-vous avec cette erreur.
Points clés à retenir
- if / elif / else dirigent le programme selon des conditions.
- L'indentation (4 espaces) délimite les blocs : elle est obligatoire, pas décorative.
- Comparaisons : == != < > <= >= ; logique : and, or, not.
- Une condition évalue une expression booléenne (True/False).
Questions fréquentes
Combien d'espaces pour l'indentation ?
La convention (PEP 8) est de 4 espaces par niveau. L'essentiel est la cohérence : ne mélangez jamais espaces et tabulations dans un même fichier. VS Code convertit les tabulations en espaces automatiquement.
Peut-on enchaîner plusieurs elif ?
Oui, autant que nécessaire. Python évalue les conditions de haut en bas et exécute le premier bloc dont la condition est vraie, puis sort de la structure. Le else final (optionnel) attrape tous les cas restants.