Tutoriel Python - Contrôle de décision

Jinku Hu 30 janvier 2023
  1. Déclaration if...else
  2. Déclaration if
  3. Déclaration if...else
  4. Déclaration if ... elif ... else
  5. Déclarations if imbriquées
Tutoriel Python - Contrôle de décision

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.

Note
Les blocs 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.

Note
Un seul bloc sera exécuté.

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
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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