假设我的值可能在[28,32]范围内,或者是该范围内数字的倍数。
有没有办法可以使用模运算符在一行中测试?
尝试:
if value % (28 or 29 or 30 or 31 or 32) == 0:
# do stuff
还有一些类似的变化。我试图搜索,因为我确信这是一个常见的操作,但我找不到答案。
答案 0 :(得分:4)
这是any
if any( value % m == 0 for m in range(28,33) ):
#do stuff
答案 1 :(得分:3)
您可以使用any
来检查多个相似表达式的真实性:
if any(value % n == 0 for n in (28, 29, 30, 31, 32)):