[英]How can I condense this simple “if” line of code?
我的程序中有一行代码,用于检查一个数字是否可以被几个数字整除。
然而,我目前的方式是非常低效和丑陋。
它目前看起来像:
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。
if all(x % k == 0 for k in [1, 2, 3]):
print 'yay'
n = 1*2*3
if(x%n == 0):
#do stuff
适用于任何一组素数。
对于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
lcm = LCM of set of number to divide i.e. (1,2,3....)
if(x % lcm == 0)
//pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.