Nous rappelons qu'une variable de type boolean
peut prendre deux valeurs :
True
ou False
.
>>> type(True) <class 'bool'> >>> type(False) <class 'bool'>
Instructions conditionnelles : if
Nous rappelons qu'une variable de type boolean
peut prendre deux valeurs :
True
ou False
.
>>> type(True) <class 'bool'> >>> type(False) <class 'bool'>
En informatique, on appelle condition une expression logique dont le résultat est soit vrai, soit faux, c'est-à-dire est un booléen. Les tests de comparaison entre des nombres servent souvent lieu de condition.
Les comparaisons de nombres s'effectuent à l'aide des symboles suivants.
test | symbole |
---|---|
Est-ce égal ? | == |
Est-ce distinct ? | != |
Est-ce strictement inférieur à ? | < |
Est-ce strictement supérieur à ? | > |
Est-ce inférieur ou égal à ? | <= |
Est-ce supérieur ou égal à ? | >= |
>>> a = 2 >>> b = 3 >>> c = 5 >>> a == b False >>> a+b == c True >>> a < b True >>> a <= c True >>> type(a == c) <class 'bool'>
Il est possible d'effectuer des opérations entre plusieurs conditions grâce aux opérateurs sur les booléens :
Opérateur | Description | Exemple |
---|---|---|
and |
Renvoie True
lorsque toutes les conditions sontvraies, False sinon |
( x >= 3 ) and ( x <= 4 ) |
or |
Renvoie True
lorsqu'au moins une des conditionsest vraie, False sinon |
( x <= 3 ) or ( x >= 4 ) |
not |
Renvoie True
si la condition concernée est fausse,False lorsqu'elle est vraie |
not ( x <= 3 ) |
Pour aller plus loin sur ces opérateurs, nous vous conseillons de lire la page [Si... Alors...] → [Opérations sur les booléens] à l'issue de cette formation, ainsi que les exercices associés.
Le test d'égalité « ==
» n'est pas adapté pour comparer
deux float
à cause de la représentation des nombres
flottants en machine. Pour aller plus loin sur ce sujet, nous vous conseillons
de lire la page [Types manipulés par
Python] → [Nombres en machine]
à l'issue de cette formation.
La syntaxe est la suivante :
if condition :
instruction1
instruction2
instruction3
instruction4
Les instructions 1, 2, 3 (on peut en mettre plus, ou en mettre moins) sont
exécutées si la condition est vraie (booléen de valeur True
).
L'instruction 4 est par contre exécutée dans tous les cas, elle se situe
en dehors du bloc d'instructions concernées par if
.
C'est l'indentation qui délimite le bloc à exécuter lorsque la condition est vraie. Les élèves retrouvent ainsi une délimitation de bloc similaire à celle obtenue avec le logiciel Scratch :
On peut ajouter une condition "sinon" :
if condition :
instruction1
instruction2
instruction3
else :
instruction4
instruction5
instruction6
On retrouve à nouveau une délimitation de bloc similaire à celle obtenue avec le logiciel Scratch :
Lorsqu'on doit enchaîner les conditions, on peut éviter des indentations du type suivant :
if condition :
instruction1
instruction2
instruction3
else :
if condition2 :
instruction4
instruction5
instruction6
else :
if condition3 :
instruction7
instruction8
instruction9
Pour cela, on utilise elif
,
contraction de «else if
» :
if condition :
instruction1
instruction2
instruction3
elif condition2 :
instruction4
instruction5
instruction6
elif condition3 :
instruction7
instruction8
instruction9
...
else :
...