Pouvez-vous donner la clarté dans Python sortie: "Son ok '-------> Pas de problème ici P> mais quand je suis Aller à utiliser Bitwise et au lieu de et, le code a été exécuté mais rien de sortie. P> sortie: rien -------> Pourquoi ?? P > p>
3 Réponses :
Vous essayez d'utiliser le bitwise et (&) pour effectuer une opération logique et (&&)!
Il devrait être p>
if i<3 && i>1: print('its ok')
Bitwise fonctionne sur des chiffres, mais ils les traitent comme s'il s'agissait d'une chaîne de bits, écrit en binaire.
i = 2 if i < 3 && i > 1: print('Works!')
Donc, cela évalue à i <3 & 1> 1 code> est lu comme
i <(3 & i)> 1 code>.
& code> est le bit et opérateur. P>
i <(3 & 2)> 1 code> qui est égal à
i <2> 1 code>.
i code> (= 2) n'est pas inférieur à 2, la première condition est
false code>. Par conséquent, il échoue à la condition. P>
et code> et
& code> ont des niveaux de précédence différents! Votre deuxième exemple est analysé comme
i <(3 & i)> 1 code>.