Aller au contenu

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érateurs de comparaison en Python
OpérateurSignificationExemple (x = 7)
==égal àx == 7 : Vrai
!=différent dex != 7 : Faux
<strictement inférieurx < 5 : Faux
>strictement supérieurx > 5 : Vrai
<=inférieur ou égalx <= 7 : Vrai
>=supérieur ou égalx >= 8 : Faux
Opérateurs de comparaison en Python · Chaque comparaison donne Vrai ou 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.

Comment Python lit une chaîne if / elif / elseQuatre étapes : tester la première condition, passer à la suivante, exécuter le premier bloc vrai, sortir.1Tester le ifOn évalue la première condition.2Passer au elifSi elle est fausse, on teste la suivante.3Exécuter un blocLe premier bloc dont la condition est vraie s'exécute.4SortirLes autres branches sont ignorées, on continue après.
  1. Tester le ifOn évalue la première condition.
  2. Passer au elifSi elle est fausse, on teste la suivante.
  3. Exécuter un blocLe premier bloc dont la condition est vraie s'exécute.
  4. SortirLes autres branches sont ignorées, on continue après.
Comment Python lit une chaîne if / elif / else

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

★☆☆Environ 5 min

On considère le programme suivant :

prix = 80
if prix >= 50:
    prix = prix * 0.9
print(prix)
  1. La condition est-elle vraie ou fausse ?
  2. Quelle valeur le programme affiche-t-il ?
  3. 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
  1. On évalue la condition : 80 >= 50 est vrai.

  2. Le bloc s'exécute : prix reçoit 80×0,9=7280 \times 0{,}9 = 72.

  3. Le programme affiche donc 72 (euros).

  4. Avec prix = 45 : 45 >= 50 est 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

★★☆Environ 8 min

Voici un programme :

x = 7
if x > 10:
    y = x * 2
elif x > 5:
    y = x + 3
else:
    y = 0
print(y)
  1. Quelles conditions sont évaluées, et avec quel résultat ?
  2. Quelle valeur est affichée ?
  3. Quelle valeur serait affichée avec x = 12 ? Avec x = 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
  1. Première condition : 7 > 10 est faux, on passe à la suivante.

  2. Deuxième condition : 7 > 5 est vrai, donc y = 7 + 3 = 10.

  3. Le else est ignoré : le programme affiche 10.

  4. Avec x = 12 : 12 > 10 est vrai, y = 24 ; la branche elif n'est pas testée.

  5. Avec x = 4 : les deux conditions sont fausses, on exécute le else et y = 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

★★★Environ 12 min

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.

  1. Écris en Python la condition reduit qui est vraie quand une personne d'âge age a droit au tarif réduit (on ignore le samedi pour l'instant).
  2. Complète-la avec une variable booléenne samedi_soir, vraie le samedi soir.
  3. Cette condition est-elle vraie pour age = 70 et samedi_soir = True ? Pour age = 16 et samedi_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
  1. Pour l'âge : age < 18 or age >= 65.

  2. On ajoute la contrainte : (age < 18 or age >= 65) and not samedi_soir.

  3. Pour age = 70 : 70 >= 65 est vrai, donc la parenthèse est vraie ; mais not True vaut Faux, donc l'ensemble est faux.

  4. Pour age = 16, samedi_soir = False : la parenthèse est vraie (16 < 18) et not False vaut 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.

  1. Que vaut la condition x != 7 lorsque x contient 7 ?

  2. Avec note = 10, que fait ce programme ?

    if note > 10:
        print("Admis")
    else:
        print("Refusé")
    

  3. Quelle est la valeur de y à la fin ?

    x = 12
    if x % 2 == 0:
        y = x // 2
    else:
        y = 3 * x + 1
    

    (x // 2 est le quotient entier de x par 2.)

  4. Dans une instruction if … elif … else, si la première condition est vraie, les conditions suivantes sont tout de même testées.

  5. Quelle condition traduit « x est strictement compris entre 2 et 5 » ?

  6. Avec note = 17, quelle mention ce programme attribue-t-il ?

    if note >= 10:
        mention = "passable"
    elif note >= 16:
        mention = "très bien"
    else:
        mention = "échec"
    

  7. Parmi ces propositions, lesquelles sont des conditions valides, c'est-à-dire des expressions qui valent Vrai ou Faux ?

    Plusieurs réponses possibles.

  8. Quelle est la condition contraire de x > 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)

  1. 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.
  2. Ressources Éduscol — Algorithmique et programmation (Seconde), eduscol.education.fr. Consulté le 9 novembre 2026.
  3. Instructions conditionnelles et itératives — Ressources pédagogiques, eduscol.education.fr (STI). Consulté le 9 novembre 2026.
  4. 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.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2
  • CM1
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page