SNT & NSI · TOUS NIVEAUX (2NDE · 1ÈRE · TERMINALE)

Structures Conditionnelles (if, elif, else)

Apprendre à faire des choix dans un programme : opérateurs de comparaison, booléens et blocs conditionnels indentés.

Structures Conditionnelles (if, elif, else)

Objectifs du chapitre

  • Comprendre les opérateurs de comparaison (==, !=, <, >, <=, >=) produisant des booléens (True/False).
  • Maîtriser la syntaxe des blocs conditionnels avec les mots-clés if, elif, else.
  • Comprendre l'importance de l'indentation (décalage de 4 espaces) en Python.
  • Combiner des conditions avec les opérateurs logiques and, or, not.

1. Les opérateurs de comparaison

Pour prendre des décisions, un programme compare des valeurs entre elles. Le résultat d'une comparaison est toujours un booléen (True ou False) :

OpérateurSignificationExempleRésultat
==Est égal à5 == 5True
!=Est différent de5 != 3True
<Strictement inférieur4 < 9True
>Strictement supérieur10 > 20False
<=Inférieur ou égal15 <= 15True
>=Supérieur ou égal12 >= 18False
Attention

Piège classique : = vs ==

  • Le simple égal = est une affectation (ranger une valeur dans une variable) : age = 15.
  • Le double égal == est une comparaison (tester si deux valeurs sont identiques) : age == 18.

2. La structure conditionnelle simple : if / else

Une condition permet d'exécuter un bloc d'instructions seulement si un test logique est vrai.

Python
1
2
3
4
5
6
age = int(input("Quel est votre âge ? "))
if age >= 18:
print("Accès autorisé : Vous êtes majeur.")
else:
print("Accès restreint : Vous êtes mineur.")
Console / Sortie
1
2
3
4
5
6
7
8
9
┌───────────────────────┐
│ Condition (age >= 18) │
└───────────┬───────────┘
│
VRAI (True) │ FAUX (False)
┌────────────────┴────────────────┐
▼ ▼
Bloc sous 'if' Bloc sous 'else'
(Accès autorisé) (Accès restreint)
Définition

L'Indentation : Une règle syntaxique stricte en Python

En Python, le décalage (généralement 4 espaces) sous un if ou un else délimite le bloc d'instructions à exécuter. Ne pas oublier les deux-points : à la fin de chaque ligne de condition !

Exercice

Exercice 1 : Vérification de mot de passe

Écrire un programme Python qui :

  1. Demande à l'utilisateur de saisir un mot de passe.
  2. Si le mot de passe saisi est égal à "secret123", affiche "Accès accordé !".
  3. Sinon, affiche "Accès refusé : mot de passe incorrect.".

3. Les conditions multiples : if / elif / else

Lorsque plusieurs cas mutuellement exclusifs doivent être testés, on utilise elif (contraction de else if) :

Python
1
2
3
4
5
6
7
8
9
10
11
12
note = float(input("Entrez votre note sur 20 : "))
if note >= 16:
print("Mention : Très bien")
elif note >= 14:
print("Mention : Bien")
elif note >= 12:
print("Mention : Assez bien")
elif note >= 10:
print("Admis sans mention")
else:
print("Non admis (Rattrapage ou recalé)")
Exercice

Exercice 2 : Diagnostic de débit réseau

Écrire un programme Python qui :

  1. Demande à l'utilisateur son débit Internet descendant en Mb/s.
  2. Affiche le diagnostic correspondant selon le barème :
  • Strictement inférieur à 8 Mb/s : "Bas débit (ADSL faible)"
  • Entre 8 et 30 Mb/s inclus : "Haut débit standard"
  • Strictement supérieur à 30 Mb/s : "Très haut débit (Fibre / 5G)"

4. Combiner des conditions : and, or, not

  • `and` (ET) : Vrai si TOUTES les conditions sont vraies simultanément.
  • `or` (OU) : Vrai si AU MOINS UNE condition est vraie.
  • `not` (NON) : Inverse la valeur de vérité.
Python
1
2
3
4
5
6
7
mot_de_passe = input("Entrez votre mot de passe : ")
longueur = len(mot_de_passe)
if longueur >= 8 and "@" in mot_de_passe:
print("Mot de passe robuste et conforme.")
else:
print("Mot de passe trop court ou sans caractère spécial @.")
Exercice

Exercice 3 : Tarification de cinéma avec conditions logiques

Un cinéma applique un tarif réduit de 6 € aux spectateurs qui ont moins de 18 ans OU plus de 65 ans. Pour les autres (entre 18 et 65 ans inclus), le plein tarif est de 10 €.

  1. Demandez l'âge du spectateur.
  2. Utilisez l'opérateur logique or pour vérifier l'éligibilité au tarif réduit et afficher le tarif à payer.

Quiz d'auto-évaluation

Question 1 : Symbole de fin de ligne conditionnelle

Quel symbole doit-on impérativement placer à la fin d'une ligne d'instruction if, elif ou else en Python ?

Question 2 : Évaluation d'une condition avec AND

Que vaut l'expression booléenne (5 > 3) and (2 > 10) en Python ?

Question 3 : Différence entre = et ==

Que fait la ligne if reponse == "oui": ?

Avez-vous compris et assimilé ce cours ?

+50 XP

Étudiez le contenu activement pendant au moins 45 secondes pour pouvoir débloquer la validation au mérite.

Temps d'étude actif :0s / 45s