0
votes

Logique derrière ne pas obtenir de sortie lors de l'utilisation du bit et de l'opérateur

Pouvez-vous donner la clarté dans Python xxx

sortie: "Son ok '-------> Pas de problème ici

mais quand je suis Aller à utiliser Bitwise et au lieu de et, le code a été exécuté mais rien de sortie. xxx

sortie: rien -------> Pourquoi ??


1 commentaires

et et & ont des niveaux de précédence différents! Votre deuxième exemple est analysé comme i <(3 & i)> 1 .


3 Réponses :


2
votes

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')


0 commentaires

0
votes

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!')


0 commentaires

0
votes

i <3 & 1> 1 est lu comme i <(3 & i)> 1 . & est le bit et opérateur.

Donc, cela évalue à i <(3 & 2)> 1 qui est égal à i <2> 1 .
i (= 2) n'est pas inférieur à 2, la première condition est false . Par conséquent, il échoue à la condition.


0 commentaires