Instructions if-else

4.2 Instructions if-else

Objectifs d'apprentissage

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

  • Identifier les opérations exécutées lorsqu'un programme contenant des instructions if et if-else est exécuté.
  • Identifier les composants d'une instruction if et if-else ainsi que le formatage requis.
  • Créer une instruction if-else pour exécuter une opération lorsqu'une condition est vraie et une autre opération dans le cas contraire.

Instruction if

S'il pleut, prenez un parapluie ! Les êtres humains prennent des décisions en fonction de conditions, par exemple s'il pleut, et les programmes exécutent des opérations selon des conditions, comme la valeur d'une variable. Ex. : un programme additionne deux nombres. Si le résultat est négatif, le programme affiche une erreur.

Une condition est une expression qui s'évalue à vrai ou faux. Une instruction if (if statement) est une structure de prise de décision qui contient une condition et un corps d'instructions. Si la condition est vraie, le corps est exécuté. Si la condition est fausse, le corps n'est pas exécuté.

Le corps de l'instruction if doit être regroupé et comporter un niveau d'indentation. Le guide de style PEP 8 recommande quatre espaces par niveau d'indentation. L'interpréteur Python génère une erreur si le corps est vide.

Faites le point

Exemple : Vérification de quantité

Utilisation de variables booléennes

Une variable booléenne possède déjà la valeur True ou False et peut être utilisée directement dans une condition plutôt que d'employer l'opérateur d'égalité. Ex. : if is_raining == True: peut être simplifié en if is_raining:.

Concepts en pratique

Utilisation des instructions if

1.
Dans ce qui suit, quelle partie correspond à la condition ?
if age < 12:
  print("Discount for children available")
  1. age
  2. age < 12
  3. print("Discount for children available")
2.
Dans ce qui suit, quelles lignes sont exécutées si la condition est vraie ?
1
print("Have a great day.")
2
if is_raining:
3
  print("Don't forget an umbrella!")
4
print("See you soon.")
  1. 1, 2, 3
  2. 1, 2, 4
  3. 1, 2, 3, 4
3.
Dans ce qui suit (identique à ci-dessus), quelles lignes sont exécutées si la condition est False ?
1
print("Have a great day.")
2
if is_raining:
3
  print("Don't forget an umbrella!")
4
print("See you soon.")
  1. 1, 2, 3
  2. 1, 2, 4
  3. 1, 2, 3, 4
4.
Étant donné num = -10, quelle est la valeur finale de num ?
if num < 0:
  num = 25
if num < 100:
  num = num + 50
  1. -10
  2. 40
  3. 75
5.
Étant donné la valeur d'entrée 10, quelle est la valeur finale de positive_num ?
positive_num = int(input("Enter a positive number:"))
if positive_num < 0:
  print("Negative input set to 0")
positive_num = 0
  1. 10
  2. 0
  3. Error

Instruction if-else

Une instruction if définit des actions à exécuter lorsqu'une condition est vraie. Que faire si une action ne doit être exécutée que lorsque la condition est fausse ? Ex. : si le restaurant est à moins d'un mile, nous irons à pied. Sinon, nous prendrons la voiture.

Une instruction else (else statement) est utilisée avec une instruction if et contient un corps d'instructions qui est exécuté lorsque la condition de l'instruction if est fausse. Lorsqu'une instruction if-else est exécutée, une seule et unique branche est empruntée. C'est-à-dire que le corps du if ou le corps du else est exécuté. Remarque : l'instruction else se trouve au même niveau d'indentation que l'instruction if, et son corps est indenté.

Modèle d'instruction if-else :

1
# Statements before
2
3
if condition:
4
  # Body
5
else:
6
  # Body
7
8
# Statements after

Faites le point

Exemple : Question de quiz

Concepts en pratique

Découverte des instructions if-else

6.
Dans le code suivant, la branche else est empruntée pour quel intervalle de x ?
if x >= 15:
  # Do something
else:
  # Do something else
  1. x >= 15
  2. x <= 15
  3. x < 15
7.
Étant donné x = 40, quelle est la valeur finale de y ?
if x > 30:
  y = x - 10
else:
  y = x + 10
  1. 30
  2. 40
  3. 50
8.
Étant donné y = 50, laquelle de ces valeurs n'est pas une valeur finale possible de y ?
if x < 50:
  y = y / 2
else:
  y = y * 2
y = y + 5
  1. 30
  2. 55
  3. 105

À vous d'essayer

Division améliorée

Le programme suivant divise deux entiers. La division par 0 génère une erreur. Modifiez le programme afin de lire un nouveau dénominateur (sans invite) si le dénominateur est égal à 0.

À vous d'essayer

Conversion d'unités de température

Le programme suivant lit une température sous forme de nombre à virgule flottante (float) et l'unité sous forme de chaîne de caractères : « f » pour Fahrenheit ou « c » pour Celsius.

Calculez new_temp, le résultat de la conversion de temp de Fahrenheit en Celsius ou de Celsius en Fahrenheit selon unit. Calculez new_unit : « c » si unit vaut « f » et « f » si unit vaut « c ».

Formules de conversion :

  • Degrés Celsius = (degrés Fahrenheit - 32) * 5/9
  • Degrés Fahrenheit = (degrés Celsius * 5/9) + 32