【发布时间】:2020-10-02 10:48:28
【问题描述】:
我从这两段代码中得到了不同的答案。我对此感到困惑。为什么 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)
【问题讨论】:
-
i % 3可以是 0 也可以是非 0。如果是非零值,则为真。所以你的表达式将相当于:1 or i % 5 == 0->True or whatever->True。 -
Python 不是自然语言...
-
谢谢你,我从朋友那里得到的。
-
当我们使用-> if i % 3 or i % 5 == 0: 表示i % 3 不等于0 或i % 5 等于0。
标签: python python-3.x loops for-loop modulo