num = [2, 3]
for k in num:
if (k % 3) != 0: # I USED TO THIS CONDITION HERE
print('First print', k)
打印2
num = [2, 3]
for k in num:
if (k % 3): # I DONT UNDERSTAND WHY THIS EVALUATES to True for 2
print('second print', k)
打印2
答案 0 :(得分:3)
2 % 3
的答案是2
。所有非零数字的布尔值都为True
,因此执行if
语句。另一方面,3 % 3
是0
。 0
的布尔值为False
,因此 时间if
语句不执行。
答案 1 :(得分:0)
对于2%3,n%3的结果为2,对于3%3,结果为0。所有正数均计算为True,而0计算为false。在你的情况下,
if (2%3):
与
相同 if (true):