L'opérateur ou
table de vérité du ou
E1 | E2 | E1 ou E2 |
---|---|---|
V | V | V |
V | F | V |
F | V | V |
F | F | F |
Fondamental : Propriété opératoire
En mathématique le ou
est commutatif. En Python, l'opérateur or
est séquentiel. Cela signifie que le second opérande ne sera évalué que si l'évaluation du premier opérande donne faux. Lorsque le premier opérande est vrai, on sait que le résultat doit être vrai et donc le second opérande n'est pas évalué.
Exemple :
Si on évalue l'expression :
tas_vide(1) or sommet_carreau(1)
On obtient :
True
Car le tas 1 n'est pas vide.
L'évaluation de l'opérande gauche renvoie faux. La carte au sommet du tas 1 est un carreau. l'évaluation de l'opérande droite renvoie vraie.
Mais si on évalue l'expression :
tas_vide(3) or sommet_carreau(3)
On obtient :
True
Car le tas 3 est vide. L'évaluation de l'opérande gauche renvoie vrai. l'opérande droite n'est pas évaluée,
Enfin si on évalue l'expression :
sommet_carreau(3) or tas_non_vide(3)
Une exception se déclenche car la contrainte d'utilisation de la fonction sommet_carreau
n'a pas été respectée