Tutoriel Python - Contrôle de décision
-
Déclaration
if...else
-
Déclaration
if
-
Déclaration
if...else
-
Déclaration
if ... elif ... else
-
Déclarations
if
imbriquées
Dans cette section, vous apprendrez la construction décisionnelle en programmation Python. La construction décisionnelle la plus utilisée est une construction si...else
.
Déclaration if...else
L’instruction if...else
est utilisée lorsque vous avez deux blocs d’instructions et que vous voulez en exécuter un seul en fonction de certaines conditions. Dans la programmation Python, la plupart du temps, if...elif...else
est utilisé comme construction décisionnelle.
Déclaration if
Dans l’instruction if
vous n’avez qu’un seul bloc d’instructions et ce bloc n’est exécuté que lorsque la condition est True
, ignoré lorsque la condition est False
.
Voici la syntaxe de l’instruction if
en Python :
if condition:
statement(s)
Le corps de l’instruction if
en Python n’est pas entouré d’accolades, mais à la place, l’indentation est utilisée. La fin du corps est indiquée par la première ligne non intentionnelle.
Exemple d’instruction if
Considérons l’exemple suivant dans lequel l’instruction if
est utilisée :
a = 24
if a % 2 == 0:
print(a, "is an even number")
b = 23
if b % 2 == 0:
print(b, "is an odd number")
24 is an even number
Dans ce code, la variable a
est d’abord affectée d’une valeur, puis la condition de l’instruction if
est évaluée. Il vérifie si a
est un nombre pair ou non en prenant le module de a
avec 2
et si le résultat de %
(mod) est 0 alors le contrôle enter dans le corps de if
et l’instruction print
est exécutée.
Ensuite, on attribue à b
un nombre impair 23
. La condition dans l’instruction if
n’est pas True
, donc print(b, "is an odd number")
ne sera pas exécutée.
Déclaration if...else
Voici la syntaxe d’une instruction if...else
:
if condition:
block of statements
else:
block of statements
Dans if...else
, si la condition if
est True
, le bloc d’instructions correspondant est exécuté, sinon le bloc d’instructions sous la partie autre
sera exécuté.
Exemple de déclaration if ... else
Considérez le code ci-dessous dans lequel if...else
est utilisé:
a = 44
if a % 2 == 0:
print(a, "is an even number")
else:
print(a, "is an odd number")
44 is an even number
Ici, si a
est pair, il affichera a is an even number
, sinon il affichera a is an odd number
.
si
et sinon
ne pouvaient pas être exécutés ou ignorés. Un seul bloc est exécuté selon que la condition est True
ou non.Déclaration if ... elif ... else
Ce qui suit est la syntaxe de l’instruction if...elif...else
:
if condition:
block of statements
elif condition:
block of statements
else:
block of statements
elif
signifie autre si
et peut être utilisé plusieurs fois dans cette construction if..elif..else
.
Quand la condition sous if
devient False
, la condition de elif
sera vérifiée et ainsi de suite. Quand toutes les conditions de if
et elif
sont False
, la partie elif
sera exécutée.
Exemple de déclaration if ... elif ... else
Considérons le code ci-dessous dans lequel nous avons utilisé l’instruction if...elif...else
qui vérifie de multiples conditions :
a = -34
if a > 0:
print("Number is Positive")
elif a < 0:
print("Number is Negative")
else:
print("Number is zero")
Number is Negative
Déclarations if
imbriquées
En Python, vous pouvez avoir un if
dans une autre instruction if
. C’est ce qu’on appelle une instruction if
imbriquée.
Vous pouvez imbriquer n’importe quel type d’instruction if
pour un nombre illimité de fois. Mais ce n’est pas une bonne pratique d’utiliser des structures if
imbriquées dans les langages de programmation car la lisibilité du programme devient plus mauvaise.
Exemples d’instructions if
imbriquées
Dans le code suivant, la structure imbriquée if
est utilisée pour trouver le plus grand nombre:
T = 52
if T > 25:
if T < 50:
print("Temperature is higher than 25 but lower than 50")
else:
print("Temperature is higher than 50")
else:
if T < 0:
print("Temperature is lower than 0")
else:
print("Temperature is higher than 0 but lower than 25")
Temperature is higher than 50
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook