Python: Tests conditionnels
Jump to navigation
Jump to search
Opérateurs de comparaison
Ils prennent deux arguments (opérateurs binaires) et les comparent, retournant un booléen
symbole | signification |
---|---|
== | égal |
!= | différent (non égal) |
< | strictement inférieur |
<= | inférieur ou égal |
> | strictement supérieur |
>= | supérieur ou égal |
% | reste de la division entière |
Il est possible d'utiliser des comparaisons multiple an Python
if a < x and x < b:
peut se simplier en
if a < x < b:
Il existe des mots-clé qui retournent des booléens et fonctionnent un peu comme ces opérateurs de comparaison: is, not, and, or, in. Les résultats sont intuitifs et permettent une lecture aisée du code
not False
a = 1
a is 1
a is 2
a is not 1
a and False
a or False
a in [0,2,4]
a in [0,1,2]
Structure de tests
Pour test un booléen:
if test:
....
else:
....
Structure avec plusieurs tests pris successivement
if test1:
....
elif test2: # si test1 a retourné False
....
elif test3: # si test1 et test2 ont retourné False
....
else: # si aucun test n'a donné True avant
....
Opérateur ternaire
Il arrive souvent qu'il y ait deux résultats simples possibles après le test d'une condition. Il est dans ce cas un peu lourd d'utiliser la structure if ...: else: .... Cela peut être écrit en une ligne selon
res = restrue if test_condition else resfalse
# exemple: minimum entre x et y
minimum = x if x<y else y
# ou même définition de la fonction Min avec lambda
Min = lambda x,y: x if x<y else y
Min(10,2)