我的程序中有一行代码,用于检查一个数字是否可被几个数字整除。
然而,我现在的方式非常低效和丑陋。
目前看起来像:
if(x % 1 == 0 and x % 2 == 0 and x % 3 == 0)
等等其他几个数字。我希望有人可以教我如何取出长and
链并帮助我用更有意义的东西替换它,所以它看起来像:
if(x % a[1,2,3] == 0)
这可能吗?如果可以,有人可以帮助我吗?
编辑:x%1 == 0,x%2 == 0等。不是完整的等式。我正在检查远远超过%1,2和3.我正在寻找一个可以说... 1到15的解决方案。这就是我不使用x%6的原因。
答案 0 :(得分:15)
if all(x % k == 0 for k in [1, 2, 3]):
print 'yay'
答案 1 :(得分:3)
n = 1*2*3
if(x%n == 0):
#do stuff
适用于任何一组素数。
答案 2 :(得分:0)
1到15,您可以使用all(x % (k+1) == 0 for k in range(15))
。例如::
>>> for x in range(10):
... if all(x % (k+1) == 0 for k in range(3)): #checks weather x is divisible by 1,2,3
... print x
...
0
6
答案 3 :(得分:0)
lcm = LCM of set of number to divide i.e. (1,2,3....)
if(x % lcm == 0)
//pass