Conditions#
Jusquâici, Python exĂ©cutait toutes les instructions dans lâordre. Une condition lui permet maintenant de choisir un chemin selon la situation rencontrĂ©e.
DĂšs la seconde
Un premier choix#
Lâexpression x > 0 est Ă©valuĂ©e comme vraie ou fausse. Lorsque le test est vrai, le bloc indentĂ© est exĂ©cutĂ©. Sâil est faux, ce bloc est ignorĂ©.
Avec un nombre négatif, puis avec 0, il faut prévoir avant chaque exécution si un message va apparaßtre.
Traiter les autres cas#
else signifie « dans tous les autres cas ».
Trois essais sont particuliÚrement instructifs : une valeur positive, une valeur négative et 0. Un seul des deux blocs est exécuté à chaque fois.
Avec elif, on peut distinguer plusieurs situations.
Python teste les cas dans lâordre et sâarrĂȘte au premier qui convient.
Les comparaisons#
==Ă©gal Ă
!=différent de
<strictement infĂ©rieur Ă
>strictement supĂ©rieur Ă
<=infĂ©rieur ou Ă©gal Ă
>=supĂ©rieur ou Ă©gal Ă
Attention Ă ne pas confondre = et == : le premier affecte une valeur Ă une variable ; le second compare deux valeurs.
Une comparaison Ă corriger#
Ce programme cherche Ă afficher un message lorsque age vaut 16, mais il ne peut pas sâexĂ©cuter.
Comment chercher ?
SyntaxError signale que Python ne comprend pas lâĂ©criture de la ligne 3. Il faut identifier si cette ligne cherche Ă donner une valeur Ă age ou Ă comparer sa valeur avec 16, puis choisir lâopĂ©rateur correspondant.
Pair ou impair#
LâopĂ©rateur % calcule le reste dâune division euclidienne. Par exemple, 7 % 2 vaut 1 et 8 % 2 vaut 0. Un entier est donc pair lorsque n % 2 == 0.
Le cas de 0 et celui dâun entier nĂ©gatif mĂ©ritent dâĂȘtre testĂ©s.
Combiner plusieurs conditions#
and demande que les deux conditions soient vraies. or demande quâau moins lâune des deux
soit vraie. Enfin, not inverse un booléen : not x >= 10 est vrai lorsque x >= 10 est
faux. LâĂ©criture x < 10 est plus directe dans cet exemple, mais not devient utile pour
nier une condition plus complexe.
Que se passe-t-il précisément pour 0 et pour 10 ? Les bornes appartiennent-elles aux intervalles décrits par les messages ?
Une fonction définie par cas#
On considĂšre :
Le calcul de f(0) permet de vérifier que la valeur frontiÚre est traitée par le bon cas.
Exercices#
Exercice 1
Ăcrire une fonction est_multiple_de_3(n) qui renvoie un boolĂ©en, puis lâutiliser pour tester
un entier et afficher un message adapté.
Exercice 2
Créer une fonction maximum(a, b) qui renvoie le plus grand des deux nombres. Elle doit aussi fonctionner quand les deux nombres sont égaux.
Exercice 3
Créer la fonction définie par :
Exercice 4
Ăcrire une fonction est_multiple(a, b) qui renvoie True lorsque lâentier naturel a
est un multiple de lâentier naturel non nul b, et False sinon.
Exercice 5
Ăcrire une fonction plus_grand_multiple(a, b) qui renvoie le plus grand multiple de
lâentier naturel non nul a infĂ©rieur ou Ă©gal Ă lâentier naturel b.
Dans le parcours