首页 文章

如何使用Python在一行中测试几个模数值?

提问于
浏览
1

假设我的值可能在[28,32]范围内,或者是该范围内数字的倍数 .

有没有办法可以使用模运算符在一行中测试它?

尝试:

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

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

2 回答

  • 4

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

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

    这是 any 的工作

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

相关问题