Aller au contenu principal

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")
doux
  • if teste la première condition ;
  • elif (contraction de « else if ») n'est testé que si les conditions précédentes sont fausses ;
  • else s'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")
froid

Les 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)
21

7 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)
4

Ni 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.

  1. x > 12 : 9 > 12 est faux, on passe à la condition suivante.
  2. x > 5 : 9 > 5 est vrai, on exécute y = 2 * x, soit y = 18. La branche else est ignorée.
  3. Le programme affiche 18.
18

Et 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)
24

Bloc 4 sur 7 · Visualiser

Voir : quelle branche pour quelle valeur de x ?

Pour le programme de l'exemple guidé (seuils 12 et 5) :

Tableau : x, x > 12, x > 5, Branche exécutée, Valeur affichée
xx > 12x > 5Branche exécutéeValeur affichée
3fauxfauxelse : y = x + 47
5fauxfauxelse : y = x + 49
9fauxvraielif : y = 2 * x18
12fauxvraielif : y = 2 * x24
15vrai(non testé)if : y = x - 411

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.

Explorer les autres cours

Accès rapide