如何将用户输入与数组进行比较以提高效率



我正在尝试提高一些工作代码的效率或减少所需的循环数量。有没有办法使用数组或列表来验证用户输入?

到目前为止,我已经设法让代码使用 for-else-循环,但它看起来很麻烦而且不是很python。我找不到任何涉及将数组与用户输入进行比较的答案。代码应检查用户输入是否与有效骰子的正确边数匹配。(所以他们不能放 3 面之类的东西(

def check(die):
if die == 100 or die == 20 or die == 12 or die == 10 or die == 8 or die == 6 or die == 4:
legal = True
else:
legal = False
return legal

试试这个:

def check(die,List_Of_Values):
if die in List_Of_Values:
legal = True
else:
legal = False
return legal
List_Of_Values=[100,20,12,10,8,6,4]

您可以将所有这些常量值插入到数组中,然后遍历该数组以检查这些值是否合法

是的,但是如果您这样做,则可以进一步简化它:

# Declare as global variable somewhere...
List_Of_Values=[100,20,12,10,8,6,4]

# Sometime later
input = get_input()
if input in List_Of_Values:
print("Legal")
else:
print("Not legal")

无需额外功能。

最新更新