Passer au contenu principal
eLearner.app
Module 1 · Leçon 3 sur 43/36 dans le cours~10 min
Leçons du module (3/4)

Conditionnels : if, elif, else

Les conditionnels vous permettent d'exécuter différents codes en fonction de la valeur d'une expression booléenne. En Python, ils s'écrivent avec if, elif (raccourci pour "else if") et else.

La forme de base

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

Remarquez :

  • après la condition, il y a toujours deux points : ;
  • le bloc "à l'intérieur" de l'if est identifié par l'indentation (4 espaces) ;
  • vous n'avez pas besoin de parenthèses autour de la condition (bien qu'elles soient autorisées).

Plus de branches avec elif

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

Les branches elif sont évaluées dans l'ordre où vous les écrivez et s'arrêtent à la première qui s'avère vraie.

Expression conditionnelle (ternaire)

Pour les cas simples, vous pouvez tout écrire sur une seule ligne :

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

Cela se lit naturellement en anglais : "maggiorenne if eta >= 18 else minorenne".

Valeurs "Truthy" / "falsy"

Une condition n'a pas besoin d'être une comparaison : n'importe quelle valeur peut être utilisée comme condition. Sont considérés comme faux : False, None, 0, "", [], {}. Tout le reste est vrai.

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

Expressions conditionnelles (opérateur ternaire)

Python prend en charge une construction if-else compacte sur une seule ligne, qui agit comme l'opérateur ternaire trouvé dans d'autres langages :

Python
result = "Even" if n % 2 == 0 else "Odd"

Cela permet de garder votre code concis lorsque vous devez simplement assigner une valeur en fonction d'une condition.

À vous de jouer

Exercice#python.m1.l3.e1
Tentatives : 0Chargement…

Étant donné `number = 15`, attribuez à `sign` la chaîne 'positivo' si le nombre est > 0, 'zero' s'il est égal à 0, 'negativo' sinon. Évaluez `sign`.

Chargement de l'éditeur…
Afficher l'indice

Trois branches : > 0, == 0, else.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#python.m1.l3.e2
Tentatives : 0Chargement…

Étant donné `age = 20`, attribuez à `category` la chaîne 'maggiorenne' ou 'minorenne' en utilisant l'expression ternaire (if/else sur une ligne).

Chargement de l'éditeur…
Afficher l'indice

Syntaxe : value_if_true if condition else value_if_false

Solution disponible après 3 tentatives

Défi supplémentaire

Exercice#python.m1.l3.e3
Tentatives : 0Chargement…

Écrivez une structure conditionnelle qui vérifie si la variable `x` (initialisée à `-5`) est supérieure à 0, inférieure à 0 ou égale à 0. Attribuez la chaîne `'positive'`, `'negative'` ou `'zero'` à `sign` en conséquence. Enfin, évaluez `sign`.

Chargement de l'éditeur…
Afficher l'indice

Utilisez if x > 0:, elif x < 0:, et else: pour gérer les trois cas.

Solution disponible après 3 tentatives