我只是在尝试一个简单的 if 语句,但它没有按预期工作。是我有错误还是我不知道 if 语句的功能?
代码是:
i = 50
n = 6
if i >> n:
print("I is greater")
elif i << n:
print("I is lesser")
elif i == n:
print("I and N are same")
else:
print("no result")
即使我输入了更大或相等的值,输出也是“我更小”。请帮助我了解这是如何工作的。
请您参考如下方法:
<<和 >>是bitshift operators ,而不是比较运算符。 50 >> 6是0 , 因此 if 语句评估为 false 因为它是 falsy . 50 << 6是 3200,因此 if 语句的计算结果为真,因为它是 truthy .
此代码可能会按照您“期望”的方式工作
i = 50
n = 6
if i > n:
print("I is greater")
elif i < n:
print("I is lesser")
elif i == n:
print("I and N are same")
else:
print("no result")
