Chapitre 2 - Les conditions
Les structures de contrĂŽle conditionnelles (ou plus simplement conditions) vont nous permettre dâexĂ©cuter diffĂ©rents blocs de code selon qu'une condition spĂ©cifique soit vĂ©rifiĂ©e ou pas.
Nous allons trÚs souvent utiliser les conditions avec des variables : selon la valeur stockée dans une variable, nous allons vouloir exécuter un bloc de code plutÎt qu'un autre.
Dans les conditions, l'expression a toujours une valeur booléenne (True
ou False
).
Python nous fournit les structures conditionnelles suivantes :
1. La condition if ("si")
if (expression): # ne pas oublier le signe de ponctuation ':'
instructions # attention Ă l'indentation
#suite du programme
Exemple:
chaine = input("Note sur 20 : ")
note = float(chaine)
if note>=10.0:
print("J'ai la moyenne")
print("Fin du programme")
2. La condition if...else ("si...sinon")
if (expression): # ne pas oublier le signe de ponctuation ':'
instructions1 # attention Ă l'indentation
else:
instructions2
#suite du programme
Exemple:
chaine = input("Note sur 20 : ")
note = float(chaine)
if note>=10.0:
# ce bloc est exécuté si l'expression (note>=10.0) est vrai
print ("J'ai la moyenne")
else:
# ce bloc est exécuté si l'expression (note>=10.0) est fausse
print("C'est en dessous de la moyenne")
print("Fin du programme")
Pour traiter le cas des notes invalides (\(<0\) ou \(>20\)), on peut imbriquer des instructions conditionnelles :
chaine = input("Note sur 20 : ")
note = float(chaine)
if note>20.0 or note<0.0:
# ce bloc est exécuté si l'expression (note>20.0 or note<0.0) est vrai
print("Note invalide!")
else:
# ce bloc est exécuté si l'expression (note>20.0 or note<0.0) est fausse
if note>=10.0:
# ce bloc est exécuté si l'expression (note>=10.0) est vrai
print("J'ai la moyenne")
else:
# ce bloc est exécuté si l'expression (note>=10.0) est fausse
print("C'est en dessous de la moyenne")
print("Fin du programme")
3. La condition if...elif...else ("si..."sinon_si"... sinon")
if (expression): # ne pas oublier le signe de ponctuation ':'
instructions1 # attention Ă l'indentation
elif:
instructions2
elif:
instructions3
else:
instructions4
#suite du programme
Si l'expression 1 est vraie alors le bloc d'instructions 1 est exécuté, et on passe à la suite du programme.
Si l'expression 1 est fausse alors on teste l'expression 2 :
-
si l'expression 2 est vraie on exécute le bloc d'instructions 2, et on passe à la suite du programme.
-
si l'expression 2 est fausse alors on teste l'expression 3, etc.
Le bloc d'instructions 4 est donc exécuté si toutes les expressions sont fausses (c'est le bloc "par défaut").
Parfois il n'y a rien Ă faire.
Dans ce cas, on peut omettre l'instruction else :
if (expression1):
instructions1
elif (expression2):
instructions2
elif (expression3):
instructions3
# suite du programme
Exemple:
# ce script fait la mĂȘme chose que le programme prĂ©cĂ©dent
note = float(input("Note sur 20 : "))
if note<10.0 and note>0.0:
print("C'est en dessous de la moyenne")
elif note>=10.0 and note<20.0: # ou bien : elif 10.0 <= note < 20.0:
print("J'ai la moyenne")
else:
print("Note invalide !")
print("Fin du programme")
4. Exercices
Exercice 2.1 â
Le numéro de sécurité sociale est constitué de 13 chiffres auquel s'ajoute la clé de contrÎle (2 chiffres).
La clé de contrÎle est calculée par la formule : 97 - (numéro de sécurité sociale modulo 97)
Ăcrire un script qui contrĂŽle la validitĂ© d'un numĂ©ro de sĂ©curitĂ© sociale.
On pourra utiliser la fonction int()pour convertir le type str
en type int
.
Exemple :
>>>
Entrer votre numéro de sécurité sociale (13 chiffres) --> 1891126108268
Entrer votre clé de contrÎle (2 chiffres) --------------> 91
Votre numéro de sécurité sociale est valide.
>>>
Entrer votre numéro de sécurité sociale (13 chiffres) --> 2891126108268
Entrer votre clé de contrÎle (2 chiffres) --------------> 91
Votre numéro de sécurité sociale est INVALIDE !
>>>
Exercice 2.2 â
Ăcrivez un programme pour trouver un maximum entre trois nombres en utilisant une if-else ou if imbriquĂ©e.
Exercice 2.3 â
Ăcrivez un programme pour vĂ©rifier si un nombre est divisible par 3 et 13 ou non, en utilisant if-else.
Exercice 2.4 â
Ăcrivez un programme pour vĂ©rifier si un alphabet est une voyelle ou une consonne en utilisant if-else. Les lettres a, e, i, o et u en minuscules et en majuscules sont appelĂ©es voyelles. Les alphabets autres que les voyelles sont appelĂ©s consonnes.
Exercice 2.5 â
Ăcrire un script qui demande la note au bac et qui affiche la mention correspondante.
Par exemple:
>>>
Note au bac (sur 20) : 13.5
Bac avec mention Assez Bien
>>>
Note au bac (sur 20) : 10.9
Bac avec mention Passable
>>>
Note au bac (sur 20) : 4
Recalé
>>>
Exercice 2.6 â
Ăcrire un script qui calcule l\'indice de masse corporelle (IMC) d'un adulte et qui en donne l'interprĂ©tation (corpulence normale, surpoids...).
Par exemple :
>>>
Votre taille en cm ? 170
Votre masse en kg ? 68.5
IMC = 23.7024221453 kg/mÂČ
Interprétation : corpulence normale
>>>