0 XP
?
Python : de zéro à la maîtrise/Structures conditionnelles
Débutant40 min25 XP

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 :

  • if suivi 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 ! 😎")

🔍 else signifie "sinon" : il s'execute uniquement quand la condition if est False.


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}")
NoteConditionMention
>= 16note >= 16Tres bien 🌟
>= 14note >= 14Bien 👍
>= 12note >= 12Assez bien
>= 10note >= 10Passable
< 10elseInsuffisant 😢

Operateurs de comparaison 📏

OperateurSignificationExempleResultat
==Egal a5 == 5True
!=Different de5 != 3True
>Superieur a5 > 3True
<Inferieur a5 < 3False
>=Superieur ou egal5 >= 5True
<=Inferieur ou egal3 <= 5True

⚠️ 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 🔗

OperateurSignificationExempleResultat
andLes DEUX vraiesTrue and FalseFalse
orAU MOINS UNE vraieTrue or FalseTrue
notInversenot TrueFalse
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 (comme else). 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/5
📝 Pseudo-code
1note = 15
2if note >= 16:
3 mention = "Très bien"
4elif note >= 14:
5 mention = "Bien"
6elif note >= 12:
7 mention = "Assez bien"
8else:
9 mention = "Passable"
10print(mention)
⚙️ Exécution
📦 Mémoire
note
15
🔀 Flux d'exécution
note = 15
3
Initialisation

On crée la variable note avec la valeur 15. C'est cette valeur qui déterminera quelle condition sera remplie.