Python-If/Elif语句(循环)



有人能告诉我为什么结果是4吗?应该改为打印3,因为代码在If部分中得到满足。

a = 15
if a&5  == 0:
print('3')
elif a% 5 == 0:
print('4')
else:
print('5')

amp;是按位AND,工作方式如下:

15&5

1111
& 0101
------
0101 != 0

您正在比较15的位和5的位,从而得出它们的共同点。

1111 & 101 => 101

所以结果是5,而不是0。

"&">运算符是位AND,因此在您的代码中它类似于:

1111 & 0101 = 0101

这意味着

15 and 5 = 5

因此,第一个条件不可能为真,您将在输出中得到4,因为15/5的提醒是0

如果你想检查LSB,那么你应该用1做"and"并检查结果,如果它是1,那么LSB是0,否则LSB是1

最新更新