Expressions conditionnelles

4.7 Expressions conditionnelles

Objectifs d'apprentissage

À la fin de cette section, vous devriez être capable de :

  • Identifier les composants d'une expression conditionnelle.
  • Créer une expression conditionnelle.

Expressions conditionnelles

Une expression conditionnelle (conditional expression) (également appelée « opérateur ternaire ») est une version simplifiée et sur une seule ligne d'une instruction if-else.

Modèle d'expression conditionnelle :

    expression_if_true if condition else expression_if_false

Une expression conditionnelle est évaluée en vérifiant d'abord la condition. Si condition est vraie, expression_if_true est évaluée, et le résultat constitue la valeur résultante de l'expression conditionnelle. Sinon, expression_if_false est évaluée, et le résultat constitue la valeur résultante de l'expression conditionnelle.

On peut affecter une valeur à une variable à l'aide d'une expression conditionnelle. Ex. : Le maximum de deux nombres peut être calculé avec max_num = y if x < y else x

Remarque : Les expressions conditionnelles ont la priorité la plus basse de toutes les opérations en Python.

Faites le point

Exemple : Vérification de version

Concepts en pratique

Utiliser des expressions conditionnelles

1.
Quelle est la version sous forme d'expression conditionnelle de l'instruction if-else suivante ?
if x%2 == 0:
  response = 'even'
else:
  response = 'odd'
  1. response = if x%2 == 0 "even" else "odd"
  2. response = "odd" if x%2 == 0 else "even"
  3. response = "even" if x%2 == 0 else "odd"
2.
Étant donné x = 100 et offset = 10, quelle est la valeur de result ?
result = x + offset if x < 100 else x - offset
  1. 90
  2. 100
  3. 110
3.
Quelle partie de l'expression conditionnelle est incorrecte ?
min_num = x if x < y else min_num = y
  1. min_num = x
  2. x < y
  3. min_num = y
4.
Parmi les propositions suivantes, laquelle est une version améliorée de l'instruction if-else suivante ?
if x < 50:
  result = True
else:
  result = False
  1. result = True if x < 50 else False
  2. result = x < 50
5.
Quelles sont les valeurs possibles de total ?
total = fee + 10 if hours > 12 else 2
  1. 10, 2
  2. fee + 10, 2
  3. fee + 10, fee + 2

À vous d'essayer

Valeurs de ping

Écrivez un programme qui lit un entier, ping, et affiche ping_report, une chaîne de caractères indiquant si le ping est faible à moyen ou trop élevé. Les valeurs de ping inférieures à 150 ont un ping_report égal à "low to average". Les valeurs de ping supérieures ou égales à 150 ont un ping_report égal à "too high". Utilisez une expression conditionnelle pour affecter ping_report.

Ex. : Si l'entrée est 30, la sortie est "Ping is low to average".