Informatique · Seconde · 5 min de lecture
Instructions conditionnelles : if, elif, else
Instruction if, avec elif et else : une seule branche est exécutée, la première dont la condition est vraie ; conditions écrites avec les comparaisons (==, !=, <, <=, >, >=) et les opérateurs booléens ; le bloc d'une branche est délimité par l'indentation.
Chapitre du programme : Sciences numériques et technologie
Bloc 1 sur 7 · Comprendre
Comprendre : un programme qui choisit
Une instruction conditionnelle permet à un programme d'exécuter des instructions seulement si une condition est vraie. En Python, elle commence par if, suivi d'une condition et de deux-points ; les instructions à exécuter sont indentées (décalées de quatre espaces).
t = 18
if t > 25:
print("chaud")
elif t > 15:
print("doux")
else:
print("froid")douxifteste la première condition ;elif(contraction de « else if ») n'est testé que si les conditions précédentes sont fausses ;elses'exécute si aucune condition n'est vraie.
Ici, t > 25 est faux, t > 15 est vrai : le programme affiche « doux », et la branche else n'est pas examinée. Une seule branche est exécutée : la première dont la condition est vraie.
Bloc 2 sur 7 · Approfondir
Approfondir : comparaisons et conditions composées
Les comparaisons s'écrivent == (égal), != (différent), <, <=, >, >=. Elles valent True ou False. Une inégalité stricte est fausse en cas d'égalité : avec t = 15, le test t > 15 est faux.
t = 15
if t > 25:
print("chaud")
elif t > 15:
print("doux")
else:
print("froid")froidLes opérateurs booléens combinent des conditions : avec and, il faut que les deux soient vraies ; avec or, une seule suffit.
x = 7
if x >= 5 and x < 10:
y = x * 3
else:
y = x - 3
print(y)217 est à la fois supérieur ou égal à 5 et inférieur à 10 : la condition est vraie. Avec or, le même x donne l'autre branche :
x = 7
if x < 5 or x >= 10:
y = x * 3
else:
y = x - 3
print(y)4Ni x < 5 ni x >= 10 n'est vrai : la condition vaut False, on exécute la branche else.
Bloc 3 sur 7 · Exemple
Exemple guidé : quel nombre est affiché ?
Énoncé. Quel nombre ce programme affiche-t-il ?
x = 9
if x > 12:
y = x - 4
elif x > 5:
y = 2 * x
else:
y = x + 4
print(y)Méthode : tester les conditions dans l'ordre, et s'arrêter à la première vraie.
x > 12: 9 > 12 est faux, on passe à la condition suivante.x > 5: 9 > 5 est vrai, on exécutey = 2 * x, soit y = 18. La brancheelseest ignorée.- Le programme affiche 18.
18Et avec x = 12 ? 12 > 12 est faux (inégalité stricte), 12 > 5 est vrai : y = 24.
x = 12
if x > 12:
y = x - 4
elif x > 5:
y = 2 * x
else:
y = x + 4
print(y)24Bloc 4 sur 7 · Visualiser
Voir : quelle branche pour quelle valeur de x ?
Pour le programme de l'exemple guidé (seuils 12 et 5) :
| x | x > 12 | x > 5 | Branche exécutée | Valeur affichée |
|---|---|---|---|---|
| 3 | faux | faux | else : y = x + 4 | 7 |
| 5 | faux | faux | else : y = x + 4 | 9 |
| 9 | faux | vrai | elif : y = 2 * x | 18 |
| 12 | faux | vrai | elif : y = 2 * x | 24 |
| 15 | vrai | (non testé) | if : y = x - 4 | 11 |
Les lignes 5 et 12 sont les cas d'égalité avec un seuil : l'inégalité stricte y est fausse.
Continuez sur votre lancée
Vous avez découvert l’essentiel et un exemple. Retrouvez la suite du cours et les points à retenir, puis passez à l’entraînement guidé dans votre compte.
- Les formules et les repères à retenir
- Les erreurs fréquentes expliquées
- Un exercice avec des aides et sa correction
L’accès gratuit comprend les cours et exercices de votre niveau choisi.
Sources
- BO spécial n°1 du 22 janvier 2019 — programme de sciences numériques et technologie de seconde générale et technologique, annexe (https://cache.media.education.gouv.fr/file/SP1-MEN-22-1-2019/08/5/spe641_annexe_1063085.pdf) — « Notions transversales de programmation », instructions conditionnelles
- BO spécial n°1 du 22 janvier 2019 — programme de mathématiques de seconde générale et technologique, annexe, partie « Algorithmique et programmation » (https://eduscol.education.fr/document/24553/download)
- Documentation officielle de Python 3, The Python Language Reference et The Python Standard Library (https://docs.python.org/3/) — The Python Language Reference, « The if statement »
Vous pensez avoir trouvé une erreur dans cette leçon ? Signalez-la par e-mail.