Objectifs de cette leçon
- Écrire des conditions if/elif/else
- Utiliser les opérateurs de comparaison
- Combiner des conditions avec and/or/not
Structures conditionnelles ❓
Les conditions : le programme qui décide 🤔
Un programme sans conditions fait toujours la même chose. Les structures conditionnelles permettent au programme de choisir quoi faire selon une situation.
💡 C'est comme un carrefour routier : selon la direction choisie, on ne va pas au même endroit !
if — la condition simple 🚦
age = 17 if age >= 18: print("Tu es majeur ! 🎉") print("Tu peux voter.")
Regles essentielles :
ifsuivi d'une condition puis:- Le bloc a executer est indente (4 espaces ou une tabulation)
- Si la condition est
True, le bloc s'execute. Sinon, il est ignore.
if / else — le choix binaire ⚖️
temperature = 25 if temperature > 30: print("Il fait tres chaud ! ☀️") else: print("Il fait agreable ! 😎")
🔍
elsesignifie "sinon" : il s'execute uniquement quand la conditionifestFalse.
if / elif / else — plusieurs choix 🔀
note = 14 if note >= 16: mention = "Tres bien 🌟" elif note >= 14: mention = "Bien 👍" elif note >= 12: mention = "Assez bien" elif note >= 10: mention = "Passable" else: mention = "Insuffisant 😢" print(f"Mention : {mention}")
| Note | Condition | Mention |
|---|---|---|
| >= 16 | note >= 16 | Tres bien 🌟 |
| >= 14 | note >= 14 | Bien 👍 |
| >= 12 | note >= 12 | Assez bien |
| >= 10 | note >= 10 | Passable |
| < 10 | else | Insuffisant 😢 |
Operateurs de comparaison 📏
| Operateur | Signification | Exemple | Resultat |
|---|---|---|---|
== | Egal a | 5 == 5 | True |
!= | Different de | 5 != 3 | True |
> | Superieur a | 5 > 3 | True |
< | Inferieur a | 5 < 3 | False |
>= | Superieur ou egal | 5 >= 5 | True |
<= | Inferieur ou egal | 3 <= 5 | True |
⚠️ Piege classique :
=est l'affectation,==est la comparaison.
Comparaison de chaines
"alice" == "alice" # True "alice" == "Alice" # False (sensible a la casse) "abc" < "abd" # True (comparaison alphabetique)
Operateurs logiques 🔗
| Operateur | Signification | Exemple | Resultat |
|---|---|---|---|
and | Les DEUX vraies | True and False | False |
or | AU MOINS UNE vraie | True or False | True |
not | Inverse | not True | False |
age = 25 revenu = 35000 if age >= 18 and revenu >= 30000: print("Pret immobilier eligible ✅") meteo = "pluie" if meteo == "pluie" or meteo == "neige": print("Prends un parapluie ! ☂️") est_ferie = False if not est_ferie: print("C'est un jour ouvre 💼")
Priorite des operateurs logiques
# not > and > or True or False and False # True (and est evalue en premier) (True or False) and False # False (les parentheses changent tout !)
Conditions imbriquees 🪆
age = 20 est_etudiant = True if age >= 18: if est_etudiant: print("Tarif etudiant reduit 📚") else: print("Tarif normal 🎫") else: print("Tarif enfant 👶")
📌 Evite trop d'imbrication. Si tu as plus de 3 niveaux, envisage de reecrire avec des variables booleennes ou des fonctions.
L'operateur ternaire (condition en une ligne) ✨
age = 20 # Version ternaire (en une ligne) statut = "majeur" if age >= 18 else "mineur" print(statut) # "majeur" note = 12 resultat = "✅ Admis" if note >= 10 else "❌ Recale" print(resultat) # "✅ Admis" x = -5 absolu = x if x >= 0 else -x print(absolu) # 5
Syntaxe : valeur_si_vrai if condition else valeur_si_faux
Les operateurs in et not in 🔍
fruits = ["pomme", "banane", "cerise"] if "pomme" in fruits: print("Il y a des pommes ! 🍎") if "mangue" not in fruits: print("Pas de mangue 😢") texte = "Bonjour le monde" if "monde" in texte: print("Le mot 'monde' est dans le texte")
Le mot-cle match (Python 3.10+) 🎯
jour = "lundi" match jour: case "lundi": print("Debut de semaine 💪") case "vendredi": print("Presque le week-end ! 🎉") case "samedi" | "dimanche": print("Week-end ! 😎") case _: print("Jour ordinaire")
💡
_est le cas par defaut (commeelse). Le|permet de combiner plusieurs cas.
Flux d'execution 🔄
Pieges a eviter ⚠️
# 1. Oublier les deux-points if age >= 18 # SyntaxError # 2. Mauvaise indentation if True: print("ok") # IndentationError # 3. Confondre = et == if age = 18: # SyntaxError # 4. Utiliser == avec None if x == None: # Mauvaise pratique pass if x is None: # Correct pass
Exercice pour toi 🎯
# Exercice : Classificateur d'IMC poids = 70 taille = 1.75 imc = poids / (taille ** 2) print(f"IMC : {imc:.1f}") if imc < 18.5: print("Insuffisance ponderale") elif imc < 25: print("Poids normal ✅") elif imc < 30: print("Surpoids") else: print("Obesite") # Exercice : Systeme de billetterie age = int(input("Ton age : ")) jour = input("Jour (lundi/vendredi/autre) : ") if age < 12: prix = 5 elif age < 18: prix = 8 elif age >= 60: prix = 7 else: prix = 10 if jour == "vendredi": prix *= 0.8 print("🎉 Happy Friday ! -20%") print(f"Prix : {prix:.2f} euros")
💡 Astuce : Teste toujours tes conditions avec tous les cas possibles (minimum, maximum, valeurs limites).
⚡ Simulateur — Conditions
Étape 1/5On crée la variable note avec la valeur 15. C'est cette valeur qui déterminera quelle condition sera remplie.