- relation strictement supérieur avec >
int|float > int|float -> bool
Le signe | veut dire OU. On peut donc placer un entier ou un flottant.
>>> 40 > 30
True
On pose la question suivante à l'interpréteur Python : "40 est-il strictement supérieur à 30 ?".
str > str -> bool
>>> "crocodile" > "tortue"
False
On pose la question suivante à l'interpréteur Python : "Le mot "crocodile" est-il derrière le mot "tortue" dans le dictionnaire ?".
On voit qu'on utilise ici l'ordre lexicographique, l'ordre du dictionnaire (si tout est en minuscule).
Dans une autre activité, nous détaillerons un peu plus comment cela fonctionne, notamment la gestion des majuscules ou des autres caractères.
- opérateur d'égalité avec ==
Puisque = est déjà utilisé pour l'affectation des variables (a = 50 par exemple), les concepteurs de Python ont choisi la syntaxe d'un double signe égal pour le test d'égalité.
>>> 40 == 3 * 10
False
On pose la question suivante à l'interpréteur Python : "40 est-il identique à 3 * 10 ?".
>>> 40 == 4 * 10
True
On pose la question suivante à l'interpréteur Python : "40 est-il identique à 4 * 10 ?".
>>> 0.3 == 3 * 0.1
False
On pose la question suivante à l'interpréteur Python : "0.3 est-il identique à 3 * 0.1 ?". Pourquoi obtient-on False ? Simplement car 0.1 n'a pas été mémorisé de façon exacte, et donc 3 * presque 0.1, ca ne donne pas presque 0.3 !
- opérateur de différence avec !=
Puisque ≠ n'est pas facilement accessible sur un clavier, les concepteurs de Python ont choisi la syntaxe != pour le test de différence. Dans d'autres langages, c'est parfois <>.
>>> 40 != 3 * 10
True
On pose la question suivante à l'interpréteur Python : "40 est-il différent de 3 * 10 ?".
>>> 40 != 4 * 10
False
On pose la question suivante à l'interpréteur Python : "40 est-il différent de 4 * 10 ?".
- autres opérateurs de comparaison :
>>> 40 < 30
False
On pose la question suivante à l'interpréteur Python : "40 est-il strictement inférieur à 30 ?".
>>> 40 <= 30
False
On pose la question suivante à l'interpréteur Python : "40 est-il inférieur ou égal à 30 ?".
>>> 40 >= 30
False
On pose la question suivante à l'interpréteur Python : "40 est-il supérieur ou égal à 30 ?".
- appartenance avec in
Le mot-clé in permet de savoir si un élément a est présent dans un élément b : a in b
Si la réponse est True, c'est que a apparaît dans b. Sinon, la réponse sera False.
Voici un moyen de tester facilement si quelqu'un d'allergique au soja peut manger un produit dont on connaît la composition :
>>> "soja" in "Sucre ; huile de colza ; eau ; chocolat en poudre 15 % (sucre, pâte de cacao) ; farine de blé ; poudre d’œuf ; stabilisants : glycérol, gomme xanthane ; cacao en poudre 2,5 % ; poudre à lever : E450, E500 ; amidon de blé ; conservateur : E202 ; sel. Traces de lait."
False
La question posée est Le mot "soja" apparaît-il dans la composition fournie" ?
Et si vous étiez intolérant au blé ?
>>> "blé" in "Sucre ; huile de colza ; eau ; chocolat en poudre 15 % (sucre, pâte de cacao) ; farine de blé ; poudre d’œuf ; stabilisants : glycérol, gomme xanthane ; cacao en poudre 2,5 % ; poudre à lever : E450, E500 ; amidon de blé ; conservateur : E202 ; sel. Traces de lait."
True
La question posée est Le mot "blé" apparaît-il dans la composition fournie" ?