Quelqu'un peut-il expliquer ce qui suit
Line 1 - 5<7<3 False Line 2 - (5<7)<3 True Line 3 - 5<(7<3) False Line 4 - 5>(7<3) True Line 5 - (5<7)>3 False Line 6 - (5<7)<1 False
Le résultat est:
print("5<7<3 ",5<7<3) print("(5<7)<3 ",(5<7)<3) print("5<(7<3) ",5<(7<3)) print("5>(7<3) ", 5>(7<3)) print("(5<7)>3 ",(5<7)>3) print("(5<7)<1 ",(5<7)<1)
Je ne sais pas comment se fait le résultat des lignes 3 et 4 donnent Vrai et Faux. Si je comprends bien x
3 Réponses :
Ligne 3 - (7 <3) se résout à 0, ce qui n'est pas plus de 5 => Faux.
Ligne 4 - (7 <3) se résout à 0 qui est inférieur à 5 => Vrai.
Ligne 3 - 5 <(7 <3) Faux
(7 <3)
est False
qui vaut 0
dans le contexte de Python, maintenant 5 <0
est False
.
Ligne 4 - 5> (7 <3) Vrai
De même, 7 <3
est False
qui est également 0
, donc 5> 0
est Vrai
.
Pour les autres lignes, si une condition conduit à True
, elle sera rendue comme 1
par Python pour les vérifications de condition suivantes.
Evaluez simplement la réponse de la parenthèse:
Et rappelez-vous False = 0 et True = 1
Donc, lignes 3 et 4:
print("5<(7<3) ",5<(7<3)) print("5>(7<3) ", 5>(7<3))
serait
1) 5
2) 5> Faux i, e 5> 0 qui est Vrai
(5 <7) est vrai. True <3 est True, car True == 1.
Comprenez-vous les autres lignes avec
(...)
? Si oui, comment interprétez-vous ces lignes.Dupliqué possible de Associativité des opérateurs de comparaison à Python
@Georgy Je ne pense pas que cela réponde vraiment à la question. Savoir comment fonctionne le chaînage d'opérateurs est une chose, mais vous devez aussi savoir que les booléens sont des entiers.
@ Aran-Fey Tout y est stackoverflow.com/a/32536368/7851470