Tests (Instructions conditionnelles)

L’instruction if est la structure de test la plus simple. Sa syntaxe en Python fait intervenir la notion de bloc. Nous allons d’abord étudier cette notion plus en détail.

Bloc d’instructions - Indentation

Un bloc est défini par une indentation obtenue en décalant le début des instructions vers la droite grâce à des espaces en début de ligne (habituellement 4 espaces mais ce n’est pas obligatoire). Toutes les instructions d’un même bloc doivent être indentées exactement au même niveau (c’est-à-dire décalées à droite d’un même nombre d’espaces).

Un bloc peut contenir une ou plusieurs instructions, et notamment des instructions composées (tests, boucles, etc.).

Instruction if

Syntaxe

_images/schema_if.png
if condition:
    Instruction A

condition est une expression booléenne, c’est-à-dire une expression qui prend pour valeur True (Vrai) ou False (Faux).

L’instruction A n’est exécutée que si la condition est vérifiée (c’est-à-dire si elle prend pour valeur True).

L’instruction if est une instruction composée. Le : (deux-points) à la fin de la ligne introduit le bloc d’instructions qui sera exécuté si la condition est vérifiée.

Exemple 1 avec condition vraie :

x = 15
if x > 10:
    print(x, "est plus grand que 10")
print("Fin")

Exécuter

Affichage après exécution :

15 est plus grand que 10
Fin

Exemple 1 avec condition fausse :

x = 3
if x > 10:
    print x, "est plus grand que 10"
print "Fin"

Exécuter

Affichage après exécution :

Fin

Exemple 2 avec condition vraie :

x = 5
if x > 0:
    print(x, "est plus grand que 0")
    print("il est strictement positif")
print("Fin")

Dans cet exemple, le bloc après le if contient deux instructions. L’instruction print("Fin") ne fait pas partie du bloc car elle n’est pas indentée.

Exécuter

Affichage après exécution :

5 est plus grand que 0
il est strictement positif
Fin

Exemple 2 avec condition fausse :

x = -2
if x > 0:
    print(x, "est plus grand que 0")
    print("il est strictement positif")
print("Fin")

Exécuter

Affichage après exécution :

Fin

Instruction if ... else

Syntaxe

_images/schema_if_else.png
if condition:
    Instruction A
else:
    Instruction B

Exemple où la condition est vraie :

x = 5
if x > 0:
    print(x, "est positif")
else:
    print(x, "est négatif ou nul")
print("Fin")

Exécuter

Affichage après exécution :

5 est strictement positif
Fin

Exemple où la condition est fausse :

x = -2
if x > 0:
    print(x, "est positif")
else:
    print(x, "est négatif ou nul")
print("Fin")

Exécuter

Affichage après exécution :

-2 est négatif ou nul
Fin

Une expression booléenne peut contenir les opérateurs de comparaison suivants :

Opérateur Signification
x == y x est égal à y
x != y x est différent de y
x > y x est plus grand que y
x < y x est plus petit que y
x >= y x est plus grand ou égal à y
x <= y x est plus petit ou égal à y

Exemple

>>> 3 < 4
True
>>> 3 > 4
False

Opérateur logique and

>>> 2 < 3 and 3 < 4
True
>>> 2 < 3 and 3 > 4
False

Opérateur logique or

>>> 2 < 3 or 3 < 4
True
>>> 2 < 3 or 3 > 4
True