Python如何缩短我的代码(不提高效率)

时间:2018-09-04 01:22:41

标签: if-statement

好吧,任务是找到可以由1-20的所有数字均匀划分的最小倍数。

我的代码效率低下,而且据我所知已经完全过时了,因为您可以通过乘以素数来解决此问题。

但是我该如何缩短if-part?

a=20
b=0
while b<1:
    if (a%20==0 and
        a%19==0 and
        a%18==0 and
        a%17==0 and
        a%16==0 and
        a%15==0 and
        a%14==0 and
        a%13==0 and
        a%12==0 and
        a%11==0 and
        a%10==0 and
        a%9==0 and
        a%8==0 and
        a%7==0 and
        a%6==0 and
        a%5==0 and
        a%4==0 and
        a%3==0 and
        a%2==0):
        b=1
    else:
        a=a+1
print(a)

1 个答案:

答案 0 :(得分:3)

if all(a%x==0 for x in range(2,21)):