Mathématiques · Seconde
Instructions conditionnelles : cours de Seconde
Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur
L'essentiel
- Une instruction conditionnelle exécute des instructions différentes selon qu'une condition est vraie ou fausse 4.
- Une condition est une expression qui vaut Vrai ou Faux : elle s'écrit avec des comparaisons (<, >, ==, !=, <=, >=).
- Forme simple : Si condition alors instructions. Forme complète : on ajoute Sinon pour traiter le cas contraire.
- Avec sinon si, on enchaîne plusieurs conditions : seul le premier bloc dont la condition est vraie s'exécute 4.
- Les opérateurs et, ou, non combinent des conditions 3. Attention à ne pas confondre
=(affecter) et==(comparer).
À quoi servent les instructions conditionnelles
Jusqu'ici, tes programmes faisaient toujours la même chose : on donne une valeur à une variable, on calcule, on affiche. Les instructions s'exécutent l'une après l'autre, dans l'ordre où elles sont écrites, quelles que soient les données. Or un programme utile doit souvent réagir : appliquer une réduction seulement si le client dépasse un certain montant, afficher « admis » ou « refusé » selon une note, arrêter un calcul quand un résultat devient trop grand.
C'est le rôle des instructions conditionnelles. Le programme choisit les instructions à exécuter en fonction d'une situation 3. Dans ce cours, tu vas apprendre à écrire ces choix, à les lire comme le ferait un ordinateur, et à éviter les erreurs que font le plus souvent les élèves de seconde.
Au collège, tu as déjà rencontré les notions d'algorithme, de variable, de séquence d'instructions, de boucle et d'instruction conditionnelle, ainsi que le déclenchement d'une action par un événement 1. Au lycée, on reprend ces idées avec plus de rigueur : on écrit les algorithmes proprement, on les programme en Python et on apprend à les tester sur plusieurs valeurs.
La condition : une expression qui vaut Vrai ou Faux
Tout part de la condition. Lorsque l'ordinateur rencontre un Si, il attend une condition booléenne. Par exemple, la condition x > 0 signifie « la variable x contient un nombre strictement supérieur à zéro » 4. L'ordinateur évalue cette expression avec la valeur actuelle de x et obtient un résultat : Vrai ou Faux. Il n'y a pas de troisième possibilité.
Une condition se construit à l'aide d'opérateurs de comparaison 3. Voici ceux que tu utiliseras en Python :
| Opérateur | Signification | Exemple (x = 7) |
|---|---|---|
| == | égal à | x == 7 : Vrai |
| != | différent de | x != 7 : Faux |
| < | strictement inférieur | x < 5 : Faux |
| > | strictement supérieur | x > 5 : Vrai |
| <= | inférieur ou égal | x <= 7 : Vrai |
| >= | supérieur ou égal | x >= 8 : Faux |
Forme simple : Si … alors
La forme la plus simple d'une instruction conditionnelle comporte une condition et un bloc d'instructions. Quand l'interpréteur trouve le Si, il évalue la condition. Si elle est vraie, il exécute les instructions qui suivent le alors. Sinon, il saute ce bloc et continue après la fin de la structure 4.
En langage naturel, on écrit une structure qui commence par Si, contient la condition, puis les instructions, et se termine par Fin Si pour indiquer où s'arrête l'instruction conditionnelle 2.
Voici la même chose en Python. Le mot-clé est if, la condition est suivie de deux-points, et le bloc est décalé vers la droite (on parle d'indentation). C'est ce décalage qui indique à Python quelles instructions appartiennent au bloc.
note = 8
if note < 10:
print("Note insuffisante")
print("Fin du programme")
Deux issues possibles : Si … sinon
La forme simple ne traite qu'un cas : « si la condition est vraie, fais quelque chose ». Souvent, on veut aussi dire ce qu'il faut faire dans le cas contraire. On ajoute alors un bloc Sinon. Si la condition est fausse, l'exécution se poursuit au niveau de ce bloc, quand il existe ; le bloc sinon est facultatif 4.
En Python, le mot-clé est else, suivi lui aussi de deux-points :
note = 12
if note >= 10:
print("Admis")
else:
print("Refusé")
Avec 12, la condition est vraie et on lit « Admis ». Avec 7, elle est fausse et on lit « Refusé ».
Plusieurs cas : sinon si
Certaines situations comportent plus de deux issues : une mention au bac (passable, assez bien, bien, très bien), un tarif qui dépend de l'âge, une zone de prix. On enchaîne alors plusieurs conditions avec sinon si. Cette écriture permet de combiner plusieurs conditions : les instructions placées après la première condition vraie sont exécutées, et toutes les autres branches sont ignorées 4.
En Python, « sinon si » s'écrit elif, contraction de « else if » :
age = 15
if age < 12:
tarif = 4
elif age < 18:
tarif = 6
else:
tarif = 9
print(tarif)
Avec age = 15 : la première condition (15 < 12) est fausse, on passe à la deuxième (15 < 18), qui est vraie. Le programme range 6 dans tarif, ignore le else et affiche 6.
- Tester le ifOn évalue la première condition.
- Passer au elifSi elle est fausse, on teste la suivante.
- Exécuter un blocLe premier bloc dont la condition est vraie s'exécute.
- SortirLes autres branches sont ignorées, on continue après.
Combiner des conditions : et, ou, non
Une condition peut dépendre de plusieurs critères à la fois. On utilise pour cela des opérateurs logiques 3 :
- et (
and) : les deux conditions doivent être vraies ; - ou (
or) : au moins une des deux conditions doit être vraie ; - non (
not) : la condition est inversée, vraie quand elle est fausse et réciproquement 3.
Conditions imbriquées et lien avec les boucles
Un bloc d'instructions peut lui-même contenir une instruction conditionnelle. On parle de conditions imbriquées. C'est pratique quand un second test n'a de sens que si le premier est vrai.
age = 20
revenu = 900
if age < 26:
if revenu < 1000:
aide = 150
else:
aide = 50
else:
aide = 0
print(aide)
Avec ces données, age < 26 est vrai, on entre dans le bloc ; revenu < 1000 est vrai aussi, donc aide vaut 150. Chaque niveau est décalé davantage vers la droite : lis le programme en suivant les décalages.
Les instructions conditionnelles travaillent main dans la main avec les boucles. Une boucle répète une séquence d'instructions, par exemple jusqu'à ce qu'un événement se produise ; l'instruction conditionnelle, elle, choisit ce qui s'exécute 3. Tu les verras ensemble dans le chapitre suivant, notamment avec la boucle « tant que », où la condition décide de poursuivre ou d'arrêter la répétition 2.
Elles sont aussi au cœur des simulations. Dans les textes officiels de seconde, simuler un phénomène consiste à établir des règles à partir d'un modèle puis à les programmer ; on fait varier les conditions initiales et les paramètres pour tester la validité du modèle 1. Ces règles sont, la plupart du temps, des « si … alors … sinon » : par exemple, « si le dé affiche 6, le joueur gagne ; sinon, il perd ».
Méthode et erreurs fréquentes
Exercices corrigés
Exercice 1 Une remise conditionnelle
On considère le programme suivant :
prix = 80
if prix >= 50:
prix = prix * 0.9
print(prix)
- La condition est-elle vraie ou fausse ?
- Quelle valeur le programme affiche-t-il ?
- Que s'affiche-t-il si on remplace la première ligne par
prix = 45?
Indice 1
Compare 80 au seuil de 50 : l'opérateur est >=.
Indice 2
Multiplier par 0,9 revient à enlever 10 %.
Voir la correction pas à pas
On évalue la condition :
80 >= 50est vrai.Le bloc s'exécute :
prixreçoit .Le programme affiche donc 72 (euros).
Avec
prix = 45:45 >= 50est faux, le bloc est ignoré et le programme affiche 45.
La remise ne s'applique que si le seuil est atteint. Le prix après remise pour 80 euros est de 72 euros.
Exercice 2 Suivre un programme à plusieurs branches
Voici un programme :
x = 7
if x > 10:
y = x * 2
elif x > 5:
y = x + 3
else:
y = 0
print(y)
- Quelles conditions sont évaluées, et avec quel résultat ?
- Quelle valeur est affichée ?
- Quelle valeur serait affichée avec
x = 12? Avecx = 4?
Indice 1
Les conditions sont testées dans l'ordre ; on s'arrête à la première vraie.
Indice 2
Pour x = 12, la première condition est déjà vraie.
Voir la correction pas à pas
Première condition :
7 > 10est faux, on passe à la suivante.Deuxième condition :
7 > 5est vrai, doncy = 7 + 3 = 10.Le
elseest ignoré : le programme affiche 10.Avec
x = 12:12 > 10est vrai,y = 24; la brancheelifn'est pas testée.Avec
x = 4: les deux conditions sont fausses, on exécute leelseety = 0.
Pour x = 7, le programme affiche 10. Dès qu'une branche est choisie, les suivantes sont ignorées.
Exercice 3 Écrire des conditions avec et / ou
Un cinéma applique le tarif réduit aux personnes de moins de 18 ans ou de 65 ans et plus, uniquement hors du samedi soir.
- Écris en Python la condition
reduitqui est vraie quand une personne d'âgeagea droit au tarif réduit (on ignore le samedi pour l'instant). - Complète-la avec une variable booléenne
samedi_soir, vraie le samedi soir. - Cette condition est-elle vraie pour
age = 70etsamedi_soir = True? Pourage = 16etsamedi_soir = False?
Indice 1
Deux conditions sur l'âge, reliées par un « ou ». Ensuite, il faut les relier à la condition sur le samedi par un « et ».
Indice 2
Mets des parenthèses autour du « ou ».
Voir la correction pas à pas
Pour l'âge :
age < 18 or age >= 65.On ajoute la contrainte :
(age < 18 or age >= 65) and not samedi_soir.Pour
age = 70:70 >= 65est vrai, donc la parenthèse est vraie ; maisnot Truevaut Faux, donc l'ensemble est faux.Pour
age = 16,samedi_soir = False: la parenthèse est vraie (16 < 18) etnot Falsevaut Vrai, donc l'ensemble est vrai.
La condition finale est (age < 18 or age >= 65) and not samedi_soir. Sans les parenthèses, le and serait lu avant le or et le sens changerait : pense toujours à les écrire.
Quiz
8 questions · correction immédiate · ton score reste sur ton appareil.
-
!=signifie « différent de ». Comme x vaut bien 7, il n'est pas différent de 7 : la condition est fausse. Répondre « Vrai » revient à confondre!=avec==. Le résultat d'une condition est toujours Vrai ou Faux, jamais la valeur de x. -
La condition
10 > 10est fausse, car l'inégalité est stricte : on passe auelse. Il aurait fallu écrire>=pour accepter 10. Le programme n'exécute jamais les deux blocs ensemble. -
Le reste de 12 divisé par 2 est 0, donc la condition est vraie et on calcule . La formule du
else(37) n'est pas utilisée, puisque le blocelseest ignoré quand la condition est vraie. -
C'est faux : seul le bloc de la première condition vraie s'exécute, et toutes les autres branches sont ignorées 4. Croire le contraire pousse à écrire des programmes qui se contredisent.
-
Il faut deux conditions vraies en même temps : plus grand que 2 et plus petit que 5, d'où le
andet les inégalités strictes. Avecor, presque tous les nombres conviendraient (par exemple 100). L'option avec>=et<=inclut les bornes 2 et 5, ce qui contredit « strictement ». -
La première condition
17 >= 10est vraie : le programme affecte « passable » et ne regarde pas la suite. La mention « très bien » est tentante car 17 ≥ 16, mais cette branche n'est jamais testée. Il aurait fallu placer la conditionnote >= 16en premier. -
age >= 18,n % 2 == 0etx < 2 or x > 5sont des comparaisons qui donnent Vrai ou Faux.x = 5est une affectation : elle range 5 dans x et ne peut pas servir de condition (il faudrait écrirex == 5). -
Si x n'est pas strictement supérieur à 5, alors x est inférieur ou égal à 5.
x < 5oublie le cas x = 5, qui n'est alors dans aucune des deux conditions. Les deux autres propositions ne sont pas contraires dex > 5.
Les questions qu'on se pose
Quelle différence entre `if`, `elif` et `else` ?
if ouvre la structure avec une première condition. elif (sinon si) ajoute une autre condition, testée seulement si les précédentes sont fausses. else (sinon) n'a pas de condition : il récupère tous les cas restants, et il est facultatif 4. Il n'y a qu'un if et au plus un else, mais autant de elif que nécessaire.
Pourquoi Python exige-t-il de décaler les lignes ?
Le décalage (l'indentation) indique quelles instructions appartiennent au bloc d'un if, d'un elif ou d'un else. Une ligne décalée est exécutée seulement si la condition est vraie ; une ligne alignée avec le if s'exécute dans tous les cas. Utilise toujours le même nombre d'espaces pour un même niveau.
Dois-je utiliser plusieurs `if` successifs ou un `if … elif … else` ?
Avec des if successifs, chaque condition est testée indépendamment : plusieurs blocs peuvent s'exécuter. Avec if … elif … else, un seul bloc s'exécute. Quand les cas s'excluent (tranches d'âge, mentions), utilise elif. Quand plusieurs actions indépendantes peuvent avoir lieu en même temps, utilise des if séparés.
Comment savoir si je dois mettre `>` ou `>=` ?
Relis l'énoncé : « strictement supérieur » donne >, « au moins » ou « supérieur ou égal » donne >=. Pour vérifier, teste ton programme avec la valeur du seuil elle-même, puis avec la valeur juste en dessous et juste au-dessus.
À quoi servent les instructions conditionnelles en dehors des exercices ?
Elles servent chaque fois qu'un programme doit réagir : appliquer une remise, vérifier une saisie, appliquer une règle dans une simulation. Les textes officiels de seconde citent justement la simulation d'un phénomène à partir de règles programmées, que l'on teste en faisant varier les paramètres 1.
Que se passe-t-il si aucune condition n'est vraie et qu'il n'y a pas de `else` ?
Le programme ne fait rien dans la structure et continue avec la suite. C'est correct, mais vérifie que ce comportement est bien celui que tu veux : un else final permet de ne laisser aucun cas sans réponse.
Sources
Programme visé : Bulletin officiel n°29 du 21 juillet 2016 — Mathématiques, classe de seconde générale et technologique · Ministère de l'Éducation nationale (education.gouv.fr)
- Bulletin officiel n°29 du 21 juillet 2016 — Mathématiques, classe de seconde générale et technologique, Ministère de l'Éducation nationale (education.gouv.fr). Consulté le 9 novembre 2026.
- Ressources Éduscol — Algorithmique et programmation (Seconde), eduscol.education.fr. Consulté le 9 novembre 2026.
- Instructions conditionnelles et itératives — Ressources pédagogiques, eduscol.education.fr (STI). Consulté le 9 novembre 2026.
- Instruction conditionnelle (programmation), Wikipédia. Consulté le 9 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.