Aller au contenu principal

🔀 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

SituationUtiliser
Les cas sont mutuellement exclusifs (un seul doit s'exécuter)if / elif / else
Les vérifications sont indépendantes les unes des autresPlusieurs if séparés

🔹 Expressions booléennes

OpérateurDescriptionExempleRésultat
==Égal àa == bTrue si égaux
!=Différent dea != bTrue si différents
<Inférieur àa < bTrue si a plus petit
<=Inférieur ou égal àa <= bTrue si a plus petit ou égal
>Supérieur àa > bTrue si a plus grand
>=Supérieur ou égal àa >= bTrue si a plus grand ou égal
andET logiquea and bTrue si les deux sont True
orOU logiquea or bTrue si au moins un est True
notNON logiquenot aInverse la valeur booléenne