IF ELIF ELSE Python Conditions

Cette notion est l'une des plus importante en programmation. L'idée est de dire que si telle variable a telle valeur alors faire cela sinon cela.

Prenon un exemple, on va donner une valeur à une variable et si cette valeur est supérieur à 5, alors on va incrémenter la valeur de 1

>>> a = 10
>>> if a > 5:
...     a = a + 1
... 
>>> a
11

Que se passe-t-il si la valeur était inférieure à 5?

>>> a = 3
>>> if a > 5:
...     a = a + 1
... 
>>> a
3

On remarque que si la condition n'est pas remplie, les instructions dans la structure conditionnelle sont ignorées.

Condition if else

Il est possible de donner des instructions quelque soit les choix possibles avec le mot clé else.

>>> a = 20
>>> if a > 5:
...     a = a + 1
... else:
...     a = a - 1
... 
>>> a
21
Changeons uniquement la valeur de la variable a:
>>> a = 3
>>> if a > 5:
...     a = a + 1
... else:
...     a = a - 1
... 
>>> a
2

Condition elif

Il est possible d'ajouter autant de conditions précises que l'on souhaite en ajoutant le mot clé elif, contraction de "else" et "if", qu'on pourrait traduire par "sinon".

>>> a = 5
>>> if a > 5:
...     a = a + 1
... elif a == 5:
...     a = a + 1000
... else:
...     a = a - 1
... 
>>> a
1005
Dans cet exemple, on a repris le même que les précédent mais nous avons ajouté la conditions "Si la valeur est égale à 5" que se passe-t-il? Et bien on ajoute 1000.

Les comparaisons possibles

Il est possible de comparer des éléments:

==      égal à 
!=      différent de (fonctionne aussi avec )
>       strictement supérieur à 
>=      supérieur ou égal à
<       strictement inférieur à 
<=      inférieur ou égal à

Comment fonctionne les structures conditionnelles?

Les mots clé if, elif et else cherchent à savoir si ce qu'on leur soumet est True. En anglais True signifique "Vrai". Donc si c'est la valeur est True, les instructions concernant la condition seront exécutée.

Comment savoir si la valeur qu'on soumet à l'interpreteur est True? Il est possible de le voir directement dans l'interpréteur.

Demandons à python si 3 est égal à 4:

>>> 3 == 4
False

Il vous répondra gentiment que c'est False, c'est à dire que c'est faux.

Maintenant on va donner une valeur à une variable est on va lui demander si la valeur correspond bien à ce que l'on attend.

>>> a = 5
>>> a == 5
True

AND / OR

Il est possible d'affiner une condition avec les mots clé AND qui signifie "ET" et OR qui signifie "OU".

On veut par exemple savoir si une valeur est plus grande que 5 mais aussi plus petite que 10:

>>> v = 15
>>> v > 5 and v < 10
False

Essayons avec la valeur 7:

>>> v = 7
>>> v > 5 and v < 10
True

Pour que le résultat soit TRUE, il faut que les deux conditions soient remplies

Testons maintenant la condition OR

>>> v = 11
>>> v > 5 or v > 100
True

Le résultat est TRUE parce qu'au moins une des deux conditions est respectée.

>>> v = 1
>>> v > 5 or v > 100
False

Dans ce cas la aucune condition n'est respectée, le résultat est donc FALSE.

Chainer les comparateurs

Il est également possible de chainer les comparateurs:

>>> a, b, c = 1, 10, 100
>>> a < b < c
True
>>> a > b < c
False