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#

Exemple
Test simple
PrĂȘt
Sortie

  

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 ».

Exemple
if et else
PrĂȘt
Sortie

  

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.

Exemple
Trois cas
PrĂȘt
Sortie

  

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.

À corriger
Affectation ou comparaison ?
Erreur attendue
Sortie

  
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.

Exemple
Comparaisons
PrĂȘt
Sortie

  

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.

Exemple
Pair ou impair
PrĂȘt
Sortie

  

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.

Exemple
Conditions combinées
PrĂȘt
Sortie

  

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 :

\[\begin{split}f(x) = \begin{cases} x^2 & \text{si } x \geqslant 0, \\ -x & \text{sinon.} \end{cases}\end{split}\]
Exemple
Fonction définie par cas
PrĂȘt
Sortie

  

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Ă©.

À toi
Multiple de 3
À faire
Sortie

  

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.

À toi
Maximum de deux nombres
À faire
Sortie

  

Exercice 3

Créer la fonction définie par :

\[\begin{split}g(x) = \begin{cases} x+1 & \text{si } x < 2, \\ 3x & \text{sinon.} \end{cases}\end{split}\]
À toi
Fonction g définie par cas
À faire
Sortie

  

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.

À toi
Tester deux entiers
À faire
Sortie

  

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.

À toi
Plus grand multiple
À faire
Sortie

  

Dans le parcours