为什么条件评估为2

时间:2016-02-21 02:03:54

标签: python for-loop

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

2 个答案:

答案 0 :(得分:3)

2 % 3的答案是2。所有非零数字的布尔值都为True,因此执行if语句。另一方面,3 % 300的布尔值为False,因此 时间if语句执行。

答案 1 :(得分:0)

对于2%3,n%3的结果为2,对于3%3,结果为0。所有正数均计算为True,而0计算为false。在你的情况下,

 if (2%3):        

相同
 if (true):