如何对照字符串列表检查原始输入?

2024-09-27 19:30:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在的情况是:

def checkPlayerCardInput(answer):
    while True:
        for x in range(len(player1Cards)):
            if answer.lower() == player1Cards[x]:
                return player1[x]

我不知道的是,如果用户拼写错误或输入的内容完全不正确,如何重复循环?在

在这个场景中,player1Cards等于5个字符串的列表。我只是尝试将answer(这是用户先前通过raw_input输入的)与其中一个字符串和return匹配(在本例中,它是player1列表中的项,它包含返回的“card”的其余数据)。在

如果答案不正确,我希望循环从用户的新的原始输入答案开始。在


Tags: 字符串答案用户answerintrue列表for
3条回答

在您的案例中可以使用else关键字。在与for结合使用时,else子句在范围用尽而不退出循环时执行(break或return):

for x in range(len(player1Cards)):
        if answer.lower() == player1Cards[x]:
            return player1[x]
else:
    # Here, your user input matches nothing.

但是,您可以使用in关键字list

^{pr2}$

或者相反,not in

^{3}$

这是你想要的吗?在

def checkPlayerCardInput(answer):
    while True:
        for x in range(len(player1Cards)):
            if answer.lower() == player1Cards[x]:
                return player1[x]
        answer = raw_input('incorrect answer!')

要检查列表中是否包含项,请使用in运算符。像这样:

if answer.lower() in player1CArds:
    #...

使用while循环继续请求raw_input,直到在列表中找到一个字符串。在

相关问题 更多 >

    热门问题