0 XP
?
Fondamentaux de l'algorithmique/Structures conditionnelles
Débutant60 min40 XP

Objectifs de cette leçon

  • Écrire des conditions avec if / elif / else
  • Combiner des opérateurs de comparaison et logiques
  • Prendre des décisions dans un programme

Conditions et branchements ❓

Un programme qui fait toujours la même chose, c'est limité. Grâce aux conditions, le programme peut choisir quoi faire selon la situation.


1. Prendre des décisions 🤔

Imagine que tu joues à un jeu vidéo :

SI le joueur a plus de 3 vies ALORS il continue SINON la partie est finie

C'est exactement comme ça que fonctionnent les conditions en programmation : on pose une question, et selon la réponse, on fait une action ou une autre.


2. La structure si / sinon 🧱

En pseudo-code, une condition s'écrit comme ceci :

Exécution pas à pas

pseudo
1/6
SI condition ALORS
conditionOUINON❓ DécisionOn vérifie si "condition" est vraie. Le programme choisit entre deux chemins.

Question : "condition" est-elle vraie ? Le programme choisit entre deux chemins.

🔍 Décortiquons ça :

  • SI = "est-ce que… ?" — on pose une question
  • ALORS = ce qu'on fait si la réponse est OUI
  • SINON = ce qu'on fait si la réponse est NON
  • FIN SI = la condition est terminée, on continue après

Le programme regarde la condition : si elle est vraie, il exécute le bloc ALORS. Si elle est fausse, il exécute le bloc SINON. On ne fait jamais les deux à la fois !


3. Exemple concret : vérifier l'âge 🎂

age = 16

if age >= 18:
    print("Vous êtes majeur")
    peut_voter = True
else:
    print("Vous êtes mineur")
    peut_voter = False

Pas à pas :

  1. Le programme regarde age → il vaut 16
  2. Il vérifie : 16 >= 18 ? → Non (c'est faux !)
  3. Du coup, il saute le bloc if et va directement dans le else
  4. Il affiche "Vous êtes mineur" et met peut_voter = False

Avec age = 20, la condition 20 >= 18 serait vraie, donc il afficherait "Vous êtes majeur" et mettrait peut_voter = True.

💡 Retiens bien : if vérifie la condition. Si c'est vrai → on entre dans le bloc. Si c'est faux → on passe au else ou on ignore.


4. Les opérateurs de comparaison 📏

Pour poser une question à l'ordinateur, on utilise ces symboles :

OpérateurSignificationExempleRésultat
==Égal à5 == 5✅ Vrai
!=Pas égal à5 != 3✅ Vrai
>Plus grand que5 > 3✅ Vrai
<Plus petit que5 < 3❌ Faux
>=Plus grand ou égal5 >= 5✅ Vrai
<=Plus petit ou égal5 <= 3❌ Faux

⚠️ Attention : = tout seul, c'est pour donner une valeur à une variable. == avec deux signes, c'est pour comparer. C'est une erreur très fréquente !

Voici le chemin que prend le programme quand on vérifie un âge :

Le diagramme interactif "Exécution pas à pas" plus bas te montrera chaque étape avec des animations. Tu verras la flèche se déplacer case par case ! 🎮


5. Combiner plusieurs conditions avec les opérateurs logiques 🔗

On peut poser plusieurs questions à la fois :

En françaisEn PythonSignification
ETandLes DEUX conditions doivent être vraies
OUorAu moins UNE des deux doit être vraie
NONnotInverse le résultat (vrai → faux, faux → vrai)

Exemples de la vie quotidienne :

# ET : les deux conditions doivent être vraies
age = 16
permis = True

if age >= 18 and permis == True:
    print("Tu peux conduire !")  # Pas encore, age est trop petit

# OU : au moins une condition vraie
meteo = "pluie"
if meteo == "pluie" or meteo == "neige":
    print("Prends un parapluie !")  # Vrai car il pleut

# NON : inverse
est_rouge = False
if not est_rouge:
    print("Ce n'est pas rouge")  # Va s'afficher car est_rouge est False

🎯 Petit moyen mnémotechnique :

  • and = les deux (comme à l'école : il faut avoir 10/10 en maths ET en français)
  • or = l'un ou l'autre (au goûter : tu peux prendre un gâteau OU une pomme)
  • not = le contraire (comme "pas" en français)

6. elif : quand il y a plus de deux choix 🔀

Parfois on a besoin de vérifier plusieurs possibilités, pas juste "si" et "sinon". On utilise elif (contraction de "else if") :

nombre = int(input("Entrez un nombre : "))

if nombre > 0:
    print("Positif")
elif nombre < 0:
    print("Négatif")
else:
    print("Zéro")

Comment ça marche ?

  1. La première condition nombre > 0 est-elle vraie ? → Si oui, on affiche "Positif" et on a fini
  2. Sinon, on vérifie elif nombre < 0 → Si oui, on affiche "Négatif"
  3. Sinon (else), il ne reste qu'une possibilité : c'est zéro !

7. Piège classique ⚠️

Ne pas confondre = et ==

# ❌ Faux
if age = 18:   # Erreur ! = c'est pour donner une valeur
    print("tu as 18 ans")

# ✅ Correct
if age == 18:  # == c'est pour comparer
    print("tu as 18 ans")

📌 Astuce : lis == comme "est-ce que… est égal à… ?" et = comme "met cette valeur dans…"


8. Exercice pour toi 🎯

Ouvre l'onglet Sandbox et écris un programme qui :

  1. Demande à l'utilisateur son âge (input)
  2. Si l'âge est inférieur à 12, affiche "Enfant"
  3. Sinon si l'âge est entre 12 et 17, affiche "Adolescent"
  4. Sinon si l'âge est entre 18 et 64, affiche "Adulte"
  5. Sinon (65 et +), affiche "Senior"
  6. Bonus : si la personne est ado ou senior, affiche "Tu as droit à un tarif réduit !"

⚡ Simulateur — Structure SI / SINON

Étape 1/6
📝 Pseudo-code
1DEBUT
2 age = 16
3 SI age >= 18 ALORS
4 afficher('Majeur')
5 SINON
6 afficher('Mineur')
7 FIN SI
8FIN
⚙️ Exécution
📦 Mémoire
Aucune variable
🔀 Flux d'exécution
Début
3

Test de condition selon l'âge.

⚡ Simulateur — Conditions imbriquées

Étape 1/5
📝 Pseudo-code
1note = 15
2SI note >= 18 ALORS
3 afficher("Excellent !")
4SINON SI note >= 14 ALORS
5 afficher("Bien")
6SINON SI note >= 10 ALORS
7 afficher("Passable")
8SINON
9 afficher("Insuffisant")
10FIN SI
⚙️ Exécution
📦 Mémoire
note
15
🔀 Flux d'exécution
Début
3

On évalue une note sur 20.