Académique Documents
Professionnel Documents
Culture Documents
Accueil
Plan du cours
Introduction
1. Installation
2. Variables
3. Types
4. If
5. While
6. For ... in
7. Fonctions
8. Interfaces graphiques
9. Listes
10. Interfaces graphiques 2
11. Traitement de l'image
Les exercices
Les QCM
Reeborg
Mini projets
Codage
L'ordinateur
Liens et ressources
Plan du chapitre :
1. Le « if … elif … else ».
..... a. Exemple.
..... b. Les conditions et le type booléen.
..... c. Le "if ...elif ... else" en Python.
2. Le rôle fondamental de l'indentation dans le langage Python.
3. Méthodes élémentaires de programmation.
..... a. Ébauche fonctionnelle et ajout de couches successives.
..... b. Outiller son programme pour le débugger.
1) Le « if … elif … else ».
a) Exemple.
Afin de mettre en place un système de caisses automatiques, le directeur du cinéma ''Atlantique Mega
Screen'' vous demande de coder un programme demandant au client son âge, et lui annonçant en
retour le tarif appliqué :
Si a < 18 :
prix ← 4
Sinon :
prix ← 7
>>> age = 15
>>> age <= 18
True
>>> AgePapa = 42
>>> AgePapa <= 18
False
Ceci nous explique l'intérêt du type booléen (boolean en anglais), introduit au chapitre précédent :
une variable, que nous pouvons appeler "condition", stocke ainsi la valeur True ou False, et en fonction
de cette valeur, le programme choisira la suite à donner.
Pour simplifier les choses, en première approche, nous n'avons pas donner de nom aux conditions "age
<= 18" et "AgePapa <= 18". Ce sont en réalité des variables de type booléen (vrai ou faux), comme le
montre l'exemple ci-dessous :
>>> age = 15
>>> condition = (age <= 18)
>>> print (condition)
True
Opérateurs de comparaison :
La condition testée peut contenir les opérateurs de comparaison suivants :
--> Exercice 1.
Exemple :
Ouvrir l'interpréteur python (avec les >>>), et tester les
instructions suivantes :
>>> age = 16
>>> if ( age <= 17 ) :
print ('Vous êtes mineur')
--> résultat ?
Remarques :
Lorsque vous finissez d'entrer la seconde ligne, après le caractère ' : ', Python réagit d'une nouvelle
manière : l'invite >>> est remplacée par des espaces. Nous sommes rentrés dans un bloc
d'instructions ''if'' et Python attend la suite. Notons que la ligne suivante est indentée (c'est-à-dire
en retrait) par rapport à la précédente (4 espaces).
L'environnement IDLE s'avère très pratique en plaçant lui-même ces 4 espaces lors du retour à la
ligne après '' : ''.
Pour sortir de ce bloc d'instructions, il nous faudra appuyer sur la touche Retour arrière (en anglais
backspace) du clavier.
L'expression placée entre parenthèses est ce que appellerons désormais une condition. Si la
condition est vraie, alors l'instruction indentée après le ' : ' est exécutée. Si la condition est fausse,
rien ne se passe (ou encore le programme passe à la suite, s'il y a une suite).
Notons que la condition a été placée entre parenthèses pour améliorer la lisibilité, mais que celles-ci
ne sont pas indispensables.
Dans le cas où la condition n'est pas satisfaite, nous pouvons programmer une exécution alternative
à l'aide de l'instruction else (''sinon'', en anglais), dans laquelle le programme doit choisir entre
deux possibilités :
a = 25
if ( a <= 17 ) :
print ("Vous êtes mineur")
else :
print ("Vous êtes majeur")
--> résultat ?
Nous pouvons obtenir plus encore d'alternatives avec l'instruction elif (contraction de '' else if '') :
a = 16
if ( a <= 17 ) :
print ("Vous êtes mineur")
elif ( a == 18 ) :
print("Vous venez juste d'atteindre la majorité")
else :
print ("Vous êtes majeur")
--> résultat ?
Note : le même résultat aurait pu être obtenu avec le programme suivant :
a = 16
if ( a <= 17 ) :
print ("Vous êtes mineur")
if ( a == 18 ) :
print("Vous venez juste d'atteindre la majorité")
if ( a > 18 ) :
print ("Vous êtes majeur")
--> Quel est l'intérêt selon vous d'utiliser plutôt un elif et un else ?
--> Exercice 2.
a = 3
if ( a > 10 ) :
a = a + 10
a = 2 * a
print (a)
--> résultat :
a = 3
if ( a > 10 ) :
a = a + 10
a = 2 * a
print (a)
--> résultat :
--> comment expliquez-vous la différence de comportement entre ces deux programmes ?
--> Exercice 5.
le programme parvient-il à entrer dans un bloc d'instructions ' Si ', ou dans une boucle ?
à quel moment telle ou telle variable commence-t-elle à prendre des valeurs inadéquates ? …
Exemple :
Le programme suivant est censé calculer la somme des carrés des n premiers nombres entiers.
1) Montrer que ce programme est erroné en le testant avec des valeurs bien choisies.
2) Outiller ce programme pour détecter l'erreur et la corriger.
2) Les variables beaucoup modifiées dans ce programme (donc en quelque sorte ''critiques'') sont :
entier et somme.
Il paraît donc judicieux de les inspecter de plus près. Affichons ainsi les valeurs successives prises par
"entier" à la fin de chaque tour de boucle while. Insérons donc un : "print(entier)" tout-à-fait à la fin de
la boucle.
Que constatons-nous ? Corriger alors le programme.
--> chapitre 5
Contact
CC BY-NC-SA 4.0