问题描述
从这两段代码中我得到了不同的答案。我对此感到困惑。为什么 i % 3 == 0 or i % 5 == 0
与 i % 3 or i % 5 == 0
不同?
>>>total = 0
>>>for i in range(1,100):
>>> if i % 3 == 0 or i % 5 == 0:
>>> total += i
...print(total)
>>>total = 0
>>>for i in range(1,100):
>>> if i % 3 or i % 5 == 0:
>>> total += i
...print(total)
解决方法
只需考虑一下(使用括号):
>>>total = 0
>>>for i in range(1,100):
>>> if (i % 3 == 0) or (i % 5 == 0):
>>> total += i
...print(total)
您首先要检查i%3 == 0
,然后是i%5 == 0
。在第二个示例中,您要检查i % 3
是true还是i % 5 == 0
。希望您看到有很大的不同