【问题标题】:Difference between two ways of using 'or'使用“或”的两种方式之间的区别
【发布时间】:2020-10-02 10:48:28
【问题描述】:

我从这两段代码中得到了不同的答案。我对此感到困惑。为什么 i % 3 == 0 or i % 5 == 0i % 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


【解决方案1】:

这样想(使用括号):

>>>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 是否为真或i % 5 == 0。希望你能看到有很大的不同

【讨论】:

  • 当我们使用-> if i % 3 or i % 5 == 0: 表示i % 3 不等于0 或i % 5 等于0。
猜你喜欢
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 2015-04-22
  • 1970-01-01
  • 2021-06-11
相关资源
最近更新 更多