Aller au contenu

La structure if, elif et else

Introduction

En C#, nous écrivons :

int age = 25;

if (age < 18)
{
    Console.WriteLine("Mineur");
}
else if (age < 65)
{
    Console.WriteLine("Adulte");
}
else
{
    Console.WriteLine("Senior");
}

Etant donné qu'il n'y a qu'une instruction par bloc de code, les accolades pourraient ne pas être utilisées.

Voici l'équivalent en Python :

age = 25

if age < 18:
    print("Mineur")
elif age < 65:
    print("Adulte")
else:
    print("Senior")

En Python, les parenthèses autour des conditions ne sont pas obligatoire. Chaque en-tête se termine par le caractère :, et l'indentation délimite les blocs d'instructions.

De même qu'en C#, les conditions sont évaluées dans l'ordre. Seul le bloc correspondant à la première condition vraie est exécuté. Le bloc else est facultatif et s'exécute lorsqu'aucune condition précédente n'est vraie.

Combiner des conditions

Python utilise les opérateurs logiques and, or et not, qui correspondent respectivement aux opérateurs &&, || et ! du langage C# :

age = 20
is_active = True

if age >= 18 and is_active:
    print("Accès autorisé")

Les principaux opérateurs de comparaison sont identiques à ceux du langage C# : ==, !=, <, <=, > et >=.

Python permet également d'enchaîner les comparaisons :

if 18 <= age < 65:
    print("Adulte")

Cette condition équivaut à age >= 18 and age < 65.

Utiliser une expression conditionnelle

Une expression conditionnelle permet de choisir une valeur selon une condition.

En C#, nous écrivons :

string status = age >= 18 ? "Majeur" : "Mineur";

Et voici l'équivalent en Python :

status = "Majeur" if age >= 18 else "Mineur"

Comprendre l'évaluation d'une condition

Contrairement au langage C#, Python n'exige pas que l'expression d'une condition soit de type booléen. Il peut évaluer directement une valeur :

name = ""

if name:
    print("Le nom est renseigné")
else:
    print("Le nom est vide")