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
ifetif-elseest exécuté. - Identifier les composants d'une instruction
ifetif-elseainsi que le formatage requis. - Créer une instruction
if-elsepour 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.
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
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 |
Concepts en pratique
Découverte des instructions if-else
À 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