如何用 Python 在一行中测试多个模值?

How to test several modulo values in one line with Python?

假设我有一个值可能在 [28,32] 范围内或该范围内数字的倍数。

有没有一种方法可以使用模运算符在一行中对此进行测试?

尝试过:

if value % (28 or 29 or 30 or 31 or 32) == 0:
    # do stuff

还有一些类似的变化。我试图搜索,因为我确定这是一个常见的操作,但我找不到答案。

您可以使用any来检查多个相似表达式的真实性:

if any(value % n == 0 for n in (28, 29, 30, 31, 32)):

这是 any

的工作
   if any( value % m == 0 for m in range(28,33) ):
       #do stuff