Python en mathématiques - Niveau 1

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'>

Tests de comparaison

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'>

Opérateurs sur les booléens

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 sont
vraies, False sinon
( x >= 3 ) and ( x <= 4 )
or Renvoie True lorsqu'au moins une des conditions
est 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.

Remarque importante

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.

Si... alors...

La syntaxe est la suivante :


if condition :
    instruction1
    instruction2
    instruction3
instruction4  
bloc_scratch

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 :

Si... alors... sinon...

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 :

bloc_scratch
algorigramme while

Si... alors... sinon... si...

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