Les instructions conditionnelles (en Python)

Les schémas classiques


Il existe trois schémas possibles utilisant l’instruction if pour réaliser des tests.

* test simple : si alors

instruction normale
instruction normale
instruction normale
instruction normale
...

if condition :
    instruction
    instruction
    instruction
    ...

instruction normale
instruction normale
instruction normale
...

* test : si alors autrement

instruction normale
instruction normale
instruction normale
instruction normale
...

if condition :
    instruction
    instruction
    instruction
else :
    instruction
    instruction
    instruction
    ...

instruction normale
instruction normale
instruction normale
...

* test : si alors sinon … autrement

instruction normale
instruction normale
instruction normale
instruction normale
...

if condition :
    instruction
    instruction
    instruction
    ...
elif condition :
    instruction
    instruction
    instruction
    ...
elif condition :
    instruction
    instruction
    instruction
    ...
else :
    instruction
    instruction
    instruction
    ...

instruction normale
instruction normale
instruction normale
...

Un exemple minimal


# -*- coding:utf-8 -*-

nombre=int(input("Rentrez un nombre :"))

if nombre ==33:
    print("Vous êtes malade !")

print("Je déteste les médecins.")

input("Appuyer sur ENTER pour terminer le programme. ")

*l.1 à l.4 : ——- avant le test ——-

Un peu de travail pour l’utilisateur …

L’instruction input demande une chaîne de caractère.

L’instruction int convertit cette chaîne en un entier.

*l.5 à l.6 : ——- le test ——-

*l.5
– Si la variable nombre est égale à 33, on effectue les instructions conditionnelles.
– Ne pas oublier le “:” en fin de ligne.
*l.6 Voici l’instruction à faire.
– Pour différencier cette instruction de la suite du programme, on a tapé au début une tabulation (de plus), cette indentation (ce décalage) est indispensable.

*l.7 à l.11 : ——- après le test ——-

La fin de programme …

Des variantes


* test : si alors autrement

# -*- coding:utf-8 -*-

nombre=int(input("Rentrez un nombre :"))

if nombre ==33:
    print("Bingo !")
else :
    print("Perdu !")
    
    
print ("Je déteste les médecins.")

input("Appuyer sur ENTER pour terminer le programme. ")

* test : si alors sinon autrement

# -*- coding:utf-8 -*-

nombre=int(input("Rentrez un nombre :"))

if nombre < 33 :
    print ("Un peu juste !")
elif nombre > 33 :
    print ("Un peu fort !")
else :
    print ("Bingo")
    
    
print( "Je déteste les médecins.")

input("Appuyer sur ENTER pour terminer le programme. ")

Les conditions


Le test fait intervenir une condition qui renvoie un booléen :
True si la condition est respectée,
False si la condition n’est pas respectée.

Voici le tableau des opérateurs de comparaison utilisables :

a == b a égal à b
a != b a différent de b
a < b a inférieur à b
a <= b a inférieur ou égal à b
a > b a supérieur à b
a >= b a supérieur ou égal à b

On peut aussi composer les conditions avec les opérateurs logiques :

condition1 and condition2 condition1 et condition2
condition1 or condition2 condition1 ou condition2

On peut aussi utiliser le mot-clé in qui va tester si un élément est dans une liste :

a in liste1 a inclus dans liste1

Un exemple plus complet


# -*- coding:utf-8 -*-

nombre=int(input("Rentrez votre âge (nombre entier d'années) : "))

if nombre < 0 :
    print("Négatif !")
elif nombre < 5 :
    print("Bravo, vous savez déjà lire !")
elif nombre <= 17 :
    print("Pas encore majeur !" )   
else :
    if nombre == 33 or nombre >= 100 :
        print("En pleine forme !")
    else :
        print("Rien à signaler")
    
    
print("\n Merci d'avoir participer.")

input("Appuyer sur ENTER pour terminer le programme. ")


Des exercices faits avec Coderunner