top of page

Chapitre 3 :  Python, «Structures Conditionnelles », if-elif-else

Python-logo-notext.svg.png

1. Structure conditionnelle

On appelle structure conditionnelle, une structure qui permet d'effectuer un traitement sous condition.
En général, elle se présente comme ceci :

Si condition Alors :
    traitement si la condition est vraie
Sinon :
    traitement si la condition est fausse

Une structure conditionnelle se présente ainsi sous Python :


a=5
if a<3:
    print("ceci s'affiche pas")
else:
    print("ceci s'affiche")
print("ceci s'affiche dans tous les cas")


a<3 représente la condition assimilée à un booléen (True ou False), la ligne se termine obligatoirement par :

Tout élément dans la condition est précédé par un décalage dans le texte « l’indentation », notion très importante sous Python. Dès que l’indentation s ‘arrête on sort de la condition et la ligne de code est effectuée dans tous les cas. 

La variable a contient la valeur 5 : a < 3 est donc
un booléen dont la valeur est False. La condition correspondant implicitement au else est a >=3 et est donc un booléen dont la valeur est True. Attention, l’indentation est nécessaire à la bonne interprétation du programme. 

2. Voici comment une structure conditionnelle aux choix multiples se présente sous Python :

Dans un sac se trouvent des billes de 5 couleurs, vert, bleu, jaune, orange et rouge. On va faire un tirage au sort. On demande la couleur à l’utilisateur, puis on lui propose le nombre de points gagnés.


couleur=input("Entrer la couleur de votre bille: ")
if couleur=='vert':
    print("vous avez gagné un point")
elif couleur=='bleu':
    print("vous avez gagné 2 points")
elif couleur=='jaune':
    print("vous avez gagné 3 points")
elif couleur=='orange':
    print("vous avez gagné 4 points")
elif couleur=='rouge':
    print("vous avez perdu")
else:
    print("la bille n'a pas cette couleur")
print("Le jeu est terminé")


Le symbole = représente l’affectation d’une valeur à une variable. Le symbole = = représente un test d’égalité (un booléen).

Le mot « elif » est un ensemble de « else if » et veut dire « sinon si ». Dans cette structure une seule instruction va s’effectuer, même s’il y en a plusieurs qui sont « vraies ».

3. Structures conditionnelles dépendantes et indépendantes sous Python : 

Attention, les indentations indiquent des structures dépendantes sous python, (si, si, si alors). 

Quand les « if » sont au même niveau, les conditions (et instructions) sont indépendantes les unes des autres. 

Dans une structure « if-élif-else » les actions sont forcément dépendantes les unes des autres, puisque uniquement la première condition vraie va enclencher une instruction, même si il y en a d’autres qui sont vraies après.

​Voici trois exemples:          dépendance     /        indépendance     /          uniquement le premier 'True' s'exécute

a,b,c=4,4,9

if a==c:

    print (c)

    if a==b:

        print(b+a)

        if a<c:

           print(c+a)

print('ok')

a,b,c=4,4,9

if a==c:

    print (c)

if a==b:

    print(b+a)

if a<c:

    print(c+a)

print('ok')

a,b,c=4,4,9

if a==c:

    print (c)

elif a==b:

    print(b+a)

elif a<c:

    print(c+a)

else:

    print('ok')

4. Les opérateurs de comparaison (qui fonctionnent avec les variables types " integer " ou  "float" ou "bool")  :

 

Opérateur      Signification


a == b              Test l’égalité entre les valeurs a et b.
a != b               Test si a est différent de b
a > b                Test si a est strictement supérieur à b
a > = b             Test si a est supérieur ou égal à b
a < b                Test si a est strictement inférieur à b
a <= b              Test si a est strictement inférieur ou égal à b

5. Les opérateurs booléens (qui fonctionnent avec les variables type « bool »)  : 

Opérateur       Signification


a and b              Condition1 and condition2 vaut « True » si condition1 et condition2 valent « True » et « False » sinon.
a or b                  Condition1 or condition2 vaut « True » si condition1 vaut « True » ou condition2 vaut « True » ou les deux, 

                             elle vaut « False » sinon.
not a                   Le mot clé « not » permet d’exprimer la négation d’une condition. « not » condition renverra True si la                                           condition est à False et inversement.

Ce tableau donne les résultats des comparaisons et des opérateurs booléens pour les variables a et b (de type bool) :

1.png

Résume du chapitre 3:

Structure conditionnelle complète:
 

if condition:
    instructions A        
else:
    instructions B


La clause "else" est facultative. Pour des conditions imbriquées, le mot-clé "elif" est une abréviation de "else if".

 

Exemples de conditions :


x >= 3   # x supérieur ou égal à 3
x == 3    # x est égal à 3
x != 3    # x n'est pas égal à 3

 

Type booléen:

Une variable de type "booléen" ne peut prendre que deux valeurs : "True" (vrai) et "False" (faux). On dispose donc maintenant de quatre type de valeurs en Python : "int" (entier), "float" (flottant), "str" (chaîne de caractères) et "bool" (booléen).

Opérateurs booléens :


Les principaux opérateurs booléens sont : "and" (et), "or" (ou) et "not" (non).

Exercices à faire à la maison:

Cette année, nous travaillerons pour les devoirs avec le site : https://basthon.fr Ce site vous permettra d’écrire et d’exécuter des programmes Python 3 dans un ‘bac à sable’.


Exercice 1 : Exécuter le programmes ci-dessous Quel va être de résultat  si on entre les valeurs 2, 3 et 6?

nombre=int(input("Entrer un nombre entier: "))
if nombre==3:
    print("vous avez gagné")
elif nombre<3:
    print("plus grand !")
else:
    print("plus petit !")


Exercice 2 : Exécuter les programmes ci-dessous. Quel va être de résultat des fonctions « print » ? Est-ce qu’il y a des erreurs ? Expliquer les résultats.

a=3
b=3.0
print(a != b)
a=5
b=5.0
print(a == b)

a='3'
b=3.0
print(a != b)
a='5'
b=5
print(a == b)

a=True
b=False
print(a < b)
print(a > b)


Exercice 3 : Exécuter les programmes ci-dessous. Quel va être de résultat des fonctions « print » ? Est-ce qu’il y a des erreurs ? Expliquer les résultats.

a,b,c=4,'47',9
if a==c:
    print (c)
if a<b:
    print(b+a)
if a<c:
    print(c+a)
print('ok')

a,b,c=4,47,9
if a==c:
    print (c)
elif a<b:
    print(b+a)
else:
    print(c+a)

a,b,c=10,15,5
print(c+a==b or a>b)
print(20+a*2==(c+b)*2 and (a+c<b or b%2==0))
print(type (a/b)==float or type (c-b)==int)

a,b,c=10,'15',5
d=str(a+c)
print(b==d)
if a==c:
    print (c)
    if a<int(b):
        print(b+a)
    if a<c:
        print(c+a)
print('ouf!')


Exercice 4 : Observer le programme ci-dessous. Comment peut-on éviter la « ZeroDivisionError » avec une condition? Modifier le programme.

x=float(input('entrer nombre, sauf 0.75'))
g = (3*x**2-1)/(4*x-3)
print(g)

Exercices de révision Python Chapitre 3, suite au TP 3 sur CAPYTALE

© 2026 TECHNOLOGIE - RODAT

bottom of page