Instruction conditionnelle en Python
Les tests en Python :
Chaque utilisation de ces tests renvoie une variable qui ne peut prendre que deux valeurs booléenne : True
ou False
;
On parle alors de booléen.
Attention à ne pas confondre :
exécutez le code suivant pour visualiser la différence entre affectation et test d'égalité :
La structure conditionnelle "if"
En Python, voici la structure :
if condition :
instruction(s) à effectuer dans la cas où la condition est remplie
else :
instruction(s) à effectuer dans la cas contraire
Le bloc else
n'est pas obligatoire
Vous remarquerez le symbole :
très important en Python qui marque le début d'un bloc.
C'est l'indentation (=décalage) qui délimite le bloc d'instructions.
a=float(input("Entrer un nombre réel : "))
if a>=0 :
print("Vous avez entré un nombre positif ou nul",a)
else :
print("Vous avez entré un nombre négatif",a)
Qu'affiche le programme de l'exemple dans chacun des cas suivants :
-
Avec a=8
?
-
Avec a=-6
?
-
Avec a=0
?
-
Avec a="positif"
?
On considère la facturation effectuée par un magasin d'habillement.
Si la facture dépasse 80€ alors le magasin offre 10% de réduction sur celle-ci ; dans le cas contraire, le magasin n'offre qu'une réduction de 5%.
-
Copier le script ci-dessous en langage Python dans l'éditeur d'Edupython (la partie surement en haut à droite) puis remplacer les deux lignes en pointillés afin que le programme demande
à l'utilisateur le prix initialement à payer puis affiche le prix à réellement payer par le client :
prix = float(input("Prix initialement à payer : "))
...........
prix = prix * (1-10/100)
...........
prix = prix * (1-5/100)
print("Grâce à la réduction, vous n'avez plus qu'à payer",prix,"euros !")
-
Tester le code avec, entre autre, un prix initial de :
-
30€ : vous devez voir s'afficher un prix final 28.5 euros,
-
156.50€ : vous devez voir s'afficher un prix final 140.85 euros.
Écrire un programme qui :
exercice de renforcement
Vous pouvez tester directement le programme précédent ci-dessous. En appuyant sur la touche Next>, vous visualiserez le fait que l'interpréteur du code
ne traite que l'instruction du if
ou celle du else
suivant si la condition est remplie ou non.
Il est possible d'imbriquer plusieurs instructions conditionnelles ensemble.
On peut détailler l'exemple précédent ainsi en trois cas distinctions par imbrications de deux instructions conditionnelles :
a=float(input("Entrer un nombre réel : "))
if a>0:
print("Vous avez entré un nombre strictement positif",a)
else: # ici, on est dans le cas où a<= 0
if a==0:
print("Vous avez entré un nombre nul",a)
else: # ici, on est dans le cas où a<=0 et a!=0 donc où a<0
print("Vous avez entré un nombre négatif",a)
Il est possible de simplifier l'écriture de ces imbrication en utilisant le mot clé elif
qui est la contraction de else if
.
La structure elif
:
if condition1 :
instruction(s)
elif condition2 :
instruction(s)
elif condition3 :
instruction(s)
else :
instruction(s)
On peut réécrire l'imbrication de l'exemple précédent ainsi :
a=float(input("Entrer un nombre : "))
if a>0 :
print("Vous avez entré un nombre strictement positif",a)
elif a==0 :
print("Vous avez entré un nombre nul",a)
else :
print("Vous avez entré un nombre strictement négatif",a)
Un cinéma pratique trois types de tarifs pour deux personnes.
-
si les deux personnes sont mineures, elles payent 7€ chacune,
-
si l'une seulement est mineure, elles payent un tarif de groupe de 15€,
-
si les deux personnes sont majeures, elles payent 18 € en tout.
Écrire un programme qui :
exercice de renforcement
Dans une école de rugby, il y a quatre groupes :
-
le groupe des U8 pour les joueurs entre 8 ans inclus et 10 ans exclus ;
-
le groupe des U10 pour les joueurs entre 10 ans inclus et 12 ans exclus ;
-
le groupe des U12 pour les joueurs entre 12 ans inclus et 14 ans exclus ;
-
le groupe des U14 pour les joueurs entre 14 ans inclus et 16 ans exclus.
Le dirigeant veut qu'un enfant, accompagné de ses parents, allant sur le site Internet de l'école puisse
connaître le groupe qui lui correspondrait une fois son âge saisi.
Ne sachant comment structurer le programme, il fait appel à vous afin que vous lui écriviez un programme, écrit en langage Python,
qui demande l'âge de l'enfant et renvoie la catégorie une fois la saisie de l'âge effectuée.
Exercices de renforcement
Sur l'instruction conditionnelle
Proposer un algorithme qui :
-
Demande à l'utilisateur de saisir un nombre,
-
Affiche si ce nombre est plus grand ou égal à 10 ou s'il est strictement plus petit.
Pour accéder au code de la correction : lien
Un théâtre pratique trois types de tarifs suivant le nombre de pièces regardées.
-
Pour au plus de 2 pièces vues, la personne doit payer 15€ la séance,
-
Entre 3 et 5 pièces vues, la personne doit payer 12€ la séance,
-
À partir de 6 séances, la personne doit payer 10€ la séance.
Écrire un programme qui :
Pour accéder au code de la correction : lien