3 - Instruction conditionnelle
Voyons maintenant comment réaliser des actions similaires sans avoir à faire trop de copier-coller.
Comment ?
En utilisant des instructions conditionnelles bien entendu.

Nous allons voir comment faire comprendre cela à l'interpréteur Python.
IDE Python proposé : Thonny
1 - Description de la structure
Le principe est simple : on évalue une expression booléenne.
Si elle est vraie (True avec Python), on exécute l'instruction ou les instructions qui sont décalées de 4 espaces.
Sinon, c'est que la condtion est fausse (False avec Python): on exécute alors le bloc par défaut s'il existe.
01° Sauvegarder et lancer le PROGRAMME en utilisant la flèche verte dans Thonny.
1
2
3
4
5 |
|
Questions
- Lorsque note vaut 18, que vaut commentaire après exécution du programme ? Founrnir les numéros des lignes rencontrées par le programme.
- Lorsque note vaut 5, que vaut commentaire après exécution du programme ? Fournir les numéros des lignes rencontrées par le programme.
...CORRECTION...
Pour une note de 18, on aura "Bien". Les lignes rencontrées sont 1-2-4-5-FIN.
Pour une note de 5, on aura "". Les lignes rencontrées sont 1-2-4-FIN.
02° Sauvegarder et lancer le PROGRAMME en utilisant la flèche verte dans Thonny.
1
2
3
4
5
6
7 |
|
Questions
- Lorsque note vaut 18, que vaut commentaire après exécution du programme ? Founrnir les numéros des lignes rencontrées par le programme.
- Lorsque note vaut 5, que vaut commentaire après exécution du programme ? Fournir les numéros des lignes rencontrées par le programme.
- Le bloc else possède-t-il une condition d'activation ?
- Pourquoi dit-on que else est le bloc du cas par défaut ?
- Pour quelles notes va-t-on activer le bloc else ?
...CORRECTION...
Pour une note de 18, on aura "Bien". Les lignes rencontrées sont 1-2-4-5-FIN.
Pour une note de 5, on aura "Bof". Les lignes rencontrées sont 1-2-4-6-7FIN.
On ne place aucune condition derrière else. Par contre, on voit qu'il ne s'active que si le bloc au dessus de lui ne s'est pas activé.
Le bloc else est le bloc par défaut car c'est le bloc qui sera activé si aucun autre bloc au dessus n'a été activé.
Puisque le premier bloc s'active pour les notes STRICTEMENT SUPERIEURES à 10, le bloc par défaut va s'activer pour les notes qui restent : celles qui sont inférieures OU EGALES à 10.
03° Sauvegarder et lancer le PROGRAMME en utilisant la flèche verte dans Thonny.
1
2
3
4
5
6
7
8
9
10
11 |
|
Questions
- Lorsque note vaut 18, que vaut commentaire après exécution du programme ? Founrnir les numéros des lignes rencontrées par le programme.
- Lorsque note vaut 5, que vaut commentaire après exécution du programme ? Fournir les numéros des lignes rencontrées par le programme.
- Lorsque note vaut 2, que vaut commentaire après exécution du programme ? Fournir les numéros des lignes rencontrées par le programme.
- Pour quelles notes va-t-on activer le bloc else ?
- Le bloc elif possède-t-il une condition d'activation ?
- Doit-on traduire elif par "SI...", par "SINON" ou par "SINON, SI..." ?
...CORRECTION...
Pour une note de 18, on aura "Bien". Les lignes rencontrées sont 1-2-4-5-FIN.
Pour une note de 5, on aura "Bof". Les lignes rencontrées sont 1-2-4-6-8-9-FIN.
Pour une note de 2, on aura "Bof". Les lignes rencontrées sont 1-2-4-6-7-FIN.
On active potentiellement des blocs pour les notes STRICTEMENT supérieures à 10, STRICTEMENT inférieures à 3 et STRICTEMENT inférieures à 6. Le dernier bloc s'active donc pour des notes de 7, 8, 9 ou 10.
On doit placer une condition derrière elif : il ne s'agit pas du bloc else par défaut.
Le bloc elif correspond donc à un bloc "SINON, SI". Cela veut dire : SI aucun bloc au dessus n'a été activé et que la condition fournie ici est vraie, alors réalise les actions de ce bloc puis sort de la structure.
1 - Structure générale des instructions conditionnelles SI - SINON SI - SINON
Quelque soit le langage, on retrouve toujours une structure qui ressemble à ceci :
1
2
3
4
5
6
7
8
9
10
11 |
|
Nombre de blocs
- Un unique bloc SI et il doit toujours être en première position
- 0, 1 ou autant de blocs SINON SI que vous voulez (il peut ne pas y en avoir)
- 0 ou 1 bloc SINON et il doit toujours être en dernière position : c'est le bloc par défaut. Si aucun autre n'a été activé, on prend celui-ci.
2 - Déroulement d'une séquence if-elif-else en Python
A SAVOIR IMPERATIVEMENT
L'interpréteur Python n'exécute que l'un des blocs A, B ou C d'une structure if-elif-else.
Il exécute les instructions du bloc de la première expression évaluée à True puis quitte la structure même si les autres expressions sont vraies également.
Exemple
Instructions Avant 1
Instructions Avant 2
if note > 11: # BLOC A
Instruction A1
Instruction A2
Instruction A3
elif note < 9: # BLOC B
Instruction B1
Instruction B2
Instruction B3
else: # BLOC C
Instruction C1
Instruction C2
Instructions Après 1
Instructions Après 2
Déroulement
Bloc A if : SI l'expression A (note > 11) est évaluée à True, il exécute A1-A2-A3 puis atteint directement Après 1. Sinon, il passe au bloc B.
Bloc B elif : SINON, SI l'expression B (note < 9) est évaluée à True, il exécute B1-B2-B3 puis atteint directement Après 1. Sinon, il passe au bloc C.
Bloc C else : on réalise forcément les instructions C1-C2 si on atteint ce bloc car c'est le bloc else qui veut dire SINON, sous entendu "dans tous les autres cas".
2 - Exercices
04° Compléter le programme suivant pour qu'il puisse traduire au moins les couleurs "rouge", "vert", "bleu" et "noir".
1
2
3
4
5
6
7
8
9 |
|
...CORRECTION...
05° Compléter le programme pour qu'il gère un dé à 6 faces "explosif" : on tire un dé et s'il donne 6, on rajoute au résultat un deuxième dé à six faces.
Exemple : on tire 4. On garde juste 4 pour le résultat final.
Exemple 2 : on tire 6 donc on retire un dé qui donne par exemple 4. Le résultat final est donc 10.
1
2
3
4
5
6
7
8
9
10
11
12
13 |
|
...CORRECTION...
06° Compléter le programme suivant pour qu'il renvoie le nom de l'élève le plus grand. Leurs tailles sont tirées au hasard entre 150 cm et 200 cm à l'aide des lignes ... et ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
|
...CORRECTION...
3 - Py-rates
08° Connectez-vous sur le site py-rates.fr. Choississez votre personnage, et notez bien le numéro qui vous permettra de continuer de chez vous.
Il vous reste à passer les niveaux 4 et 5.
Activité publiée le 15 12 2022
Dernière modification : 15 12 2022
Auteur : ows. h.