-2

(Python 3.3.2)我必须编写一个函数 def numb(a, b, c, d, e) 并且 a, b, c ,d ,e 的值只能是 3,5 或 7,那么如何我可以写这样一个条件吗,我尝试将它们全部放在一行中,用 and 和/或分隔它们但是它不起作用......顺便说一句,用户将输入这些值,如果他们输入的数字不是 3、5、7然后我将不得不返回函数,直到他们这样做(不要担心这部分,我知道该怎么做,我只是在编写条件时遇到了麻烦)

4

1 回答 1

5

您可以使用all生成器表达式

def numb(a, b, c, d, e):
    assert all(x in {3, 5, 7} for x in (a, b, c, d, e))

另一种方法是使用集合

def numb(a, b, c, d, e):
    assert {a, b, c, d, e} <= {3, 5, 7}
于 2013-10-10T03:44:02.157 回答