2015-09-28 21 views
1

假設我有一個值可能在[28,32]的範圍內或該範圍內的一個數字的倍數。如何用Python在一行中測試多個模數值?

有沒有一種方法可以使用模運算符在一行中進行測試?

嘗試:

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

還有一些類似的變化。我試圖搜索,因爲我確定這是一種常見操作,但我找不到答案。

回答

3

您可以使用any檢查多個類似表述的感實性:

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

這是any

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