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
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
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 :
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.
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 :
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
É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`.
Afficher l'indice
Trois branches : > 0, == 0, else.
Solution disponible après 3 tentatives
Exercice de révision
Étant donné `age = 20`, attribuez à `category` la chaîne 'maggiorenne' ou 'minorenne' en utilisant l'expression ternaire (if/else sur une ligne).
Afficher l'indice
Syntaxe : value_if_true if condition else value_if_false
Solution disponible après 3 tentatives
Défi supplémentaire
É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`.
Afficher l'indice
Utilisez if x > 0:, elif x < 0:, et else: pour gérer les trois cas.
Solution disponible après 3 tentatives