Instructions conditionnelles if elif else
Ce qu'il faut comprendre
Imagine que tu veux écrire un programme qui réagit différemment selon la situation. Par exemple, si la température dépasse 30°C, affiche "Il fait chaud". Sinon, si elle est entre 20 et 30, affiche "Il fait bon". Sinon, affiche "Il fait frais". C'est exactement ce que permettent les instructions conditionnelles if, elif et else. Elles permettent à ton programme de prendre des décisions en fonction de conditions que tu définis.
Les notions essentielles
- Condition : une expression qui est soit vraie (
True) soit fausse (False). Par exemple :age >= 18,note == 10,temperature < 0. - Instruction conditionnelle : une structure qui exécute un bloc de code seulement si une condition est vraie.
if: signifie "si". On l'utilise pour la première condition.elif: contraction de "else if" (sinon si). On l'utilise pour les conditions suivantes, après unif.else: signifie "sinon". On l'utilise pour le cas où aucune condition précédente n'est vraie.- Bloc : un groupe d'instructions indentées (avec 4 espaces ou une tabulation) qui s'exécutent ensemble.
- Indentation : les espaces en début de ligne. En Python, elle est obligatoire pour définir un bloc.
Structure générale :
if condition1:
# bloc si condition1 vraie
elif condition2:
# bloc si condition1 fausse et condition2 vraie
else:
# bloc si toutes les conditions précédentes sont fausses
Règles :
ifest obligatoire,elifetelsesont optionnels.- On peut avoir plusieurs
elif. elsedoit être le dernier, sans condition.- Les conditions utilisent des opérateurs de comparaison :
==(égal),!=(différent),<,>,<=,>=. - On peut combiner des conditions avec
and(et),or(ou),not(non).
Méthode
- Identifier les cas possibles : quelles sont les différentes situations à traiter ?
- Définir les conditions : pour chaque cas, écrire une expression booléenne.
- Ordonner les conditions : du plus spécifique au plus général, ou dans l'ordre logique.
- Écrire la structure : commencer par
if, puiselifpour les cas supplémentaires, et terminer parelsesi nécessaire. - Indenter correctement : chaque bloc doit être décalé de 4 espaces.
- Tester : exécuter le programme avec différentes valeurs pour vérifier.
Exemple corrigé
Énoncé : Écris un programme qui demande l'âge de l'utilisateur et affiche :
- "Tu es mineur" si l'âge est inférieur à 18
- "Tu es majeur" si l'âge est entre 18 et 64 (inclus)
- "Tu es senior" si l'âge est 65 ou plus
Correction :
age = int(input("Quel est ton âge ? "))
if age < 18:
print("Tu es mineur")
elif age <= 64: # ici, on sait que age >= 18
print("Tu es majeur")
else: # age >= 65
print("Tu es senior")
Explication :
- On convertit l'entrée en entier avec
int(). - La première condition
age < 18est vraie pour les mineurs. elif age <= 64ne sera vérifiée que siage >= 18. Elle est vraie pour les 18-64 ans.elsecouvre tous les autres cas, donc les 65 ans et plus.- Chaque
printest indenté de 4 espaces.
Test :
- Si l'utilisateur entre 15 : affiche "Tu es mineur".
- Si 30 : affiche "Tu es majeur".
- Si 70 : affiche "Tu es senior".
Erreurs fréquentes
- Oublier les deux-points (
:) aprèsif,elif,else. Sans eux, Python génère une erreur de syntaxe. - Mauvaise indentation : les blocs doivent être alignés. Si tu mélanges espaces et tabulations, ça peut planter.
- Confondre
=(affectation) et==(comparaison). Pour comparer, on utilise==. - Ordre des conditions : si tu mets
if age >= 18:avantif age >= 65:, alors un senior de 70 ans sera traité comme majeur (car la première condition est vraie). Il faut ordonner du plus spécifique au plus général, ou utiliser des conditions plus précises. - Oublier le
else: si aucun cas n'est prévu, le programme ne fait rien. Ce n'est pas toujours une erreur, mais parfois on veut un cas par défaut. - Conditions trop complexes : utilise
and,or,notavec modération. Par exemple :if age >= 18 and age <= 64:est correct mais peut être simplifié avecelif.
À retenir
if: première condition.elif: conditions suivantes (optionnel, plusieurs possibles).else: dernier cas (optionnel, sans condition).- Les blocs sont indentés.
- Les conditions utilisent des opérateurs de comparaison et peuvent être combinées avec
and,or,not. - L'ordre des conditions est important.
Pour s'entraîner
Maintenant que tu as compris le cours, entraîne-toi avec les exercices et quiz sur AlloSeconde. Tu y trouveras des situations variées pour maîtriser les instructions conditionnelles. Bon courage !
