首页 > 解决方案 > 如何在 Python 中以更有效的方式编写所有这些逻辑语句?

问题描述

i = 20
while (i%2!= 0 or i%3!= 0 or i %  4 != 0 or i %  5 != 0 or
     i %  6 != 0 or i %  7 != 0 or i %  8 != 0 or i %  9 != 0 or
     i % 10 != 0 or i % 11 != 0 or i % 12 != 0 or i % 13 != 0 or
     i % 14 != 0 or i % 15 != 0 or i % 16 != 0 or i % 17 != 0 or
     i % 18 != 0 or i % 19 != 0 or i % 20 != 0):
i+=20
print(i)

我想找到从 1 到 20 的数字的 LCM。这段代码本身是有效的(比替代代码更快),但是有什么方法可以让计算机识别模式并相应地做出所有逻辑语句?

标签: pythonlogic

解决方案


您可以使用any

while any(i % j != 0 for j in range(2, 21)):

推荐阅读