1

我正在做一个问答游戏,当我被问到任何问题时,我输入正确的答案,我在 a 变量中定义了正确的答案,但如果它不是第一个单词,它会说这是错误的变量(在本例中为 Metallica)。这是我的代码的样子。

q1answer = "Metallica" or "metallica" or "Slayer" or "slayer" or "Anthrax" or "anthrax" or "Megadeth" or "megadeth"

answerinput = str(input("name one of the 'Big Four' metal bands'"))

if answerinput == q1answer:
    print ("You got the right answer!")
else:
    print ("That is the wrong answer...")

现在,如果我要输入“Metallica”,那将是正确的,因为它是 q1answer 变量的第一个单词。但是,如果我输入 metalica、Slayer、slayer、Anthrax、anthrax、megadeth 或 Megadeth,我会得到错误的答案文本。如果我要输入除该变量中的第一个单词以外的任何内容,是否有办法让所有这些字符串都适用于这个变量?我是python的新手,所以任何帮助都会很棒。

4

2 回答 2

3

将它们放入一组并使用以下方法测试正确答案in

q1answer = {"Metallica", "metallica", "Slayer", "slayer", "Anthrax", "anthrax", "Megadeth", "megadeth"}
...
if answerinput in q1answer:

现在,您的ors 系列只是导致第一个 - "Metallica"。您还可以停止重复每个名称以不区分大小写,而是使用lower

if answerinput.lower() in q1answer:
于 2013-01-17T02:37:48.270 回答
1

像这样更改您的代码:

q1answer = ("metallica", "slayer", "anthrax", "megadeth")
...

if answerinput.lower() in q1answer:
    ...
于 2013-01-17T02:37:49.457 回答