🔀 Structures conditionnelles
Les structures conditionnelles permettent d'exécuter différentes parties du code selon qu'une condition est vraie ou fausse.
🔹 Structure de base (if)
Exécute un bloc de code uniquement si la condition est True.
age = 20
if age >= 18:
print("Majeur")
🔹 Ajout d'une alternative (if / else)
Exécute un bloc si la condition est True, un autre si elle est False.
age = 15
if age >= 18:
print("Majeur")
else:
print("Mineur")
🔹 Conditions multiples (if / elif / else)
Dès qu'une condition est True, son bloc est exécuté et les suivants sont ignorés.
score = 85
if score >= 90:
print("Excellent")
elif score >= 75:
print("Bien")
elif score >= 50:
print("Passable")
else:
print("Échec")
🔹 Forme compacte (ternaire)
Permet d'écrire une condition simple en une seule ligne.
age = 18
statut = "Majeur" if age >= 18 else "Mineur"
Avec des elif imbriqués (à éviter si trop complexe) :
score = 85
resultat = "Excellent" if score >= 90 else "Bien" if score >= 75 else "Passable" if score >= 50 else "Échec"
🔹 Conditions imbriquées
Une structure conditionnelle peut en contenir une autre. Chaque niveau d'imbrication ajoute un niveau d'indentation.
ph = 4.2
temperature = 75
if ph < 7:
print("Solution acide.")
if temperature > 60:
print("Acide ET chaude : danger!")
else:
print("Acide mais à température normale.")
else:
print("Solution neutre ou basique.")
🔹 match / case (Python 3.10+)
Alternative aux longues chaînes if/elif/else pour comparer une variable à plusieurs valeurs. Le case _ agit comme un else.
jour = "lundi"
match jour:
case "lundi":
print("Début de la semaine")
case "mercredi":
print("Milieu de la semaine")
case "vendredi":
print("Fin de la semaine")
case _:
print("Jour ordinaire")
🔹 if if if vs if elif else
| Situation | Utiliser |
|---|---|
| Les cas sont mutuellement exclusifs (un seul doit s'exécuter) | if / elif / else |
| Les vérifications sont indépendantes les unes des autres | Plusieurs if séparés |
🔹 Expressions booléennes
| Opérateur | Description | Exemple | Résultat |
|---|---|---|---|
| == | Égal à | a == b | True si égaux |
| != | Différent de | a != b | True si différents |
| < | Inférieur à | a < b | True si a plus petit |
| <= | Inférieur ou égal à | a <= b | True si a plus petit ou égal |
| > | Supérieur à | a > b | True si a plus grand |
| >= | Supérieur ou égal à | a >= b | True si a plus grand ou égal |
| and | ET logique | a and b | True si les deux sont True |
| or | OU logique | a or b | True si au moins un est True |
| not | NON logique | not a | Inverse la valeur booléenne |