如何使一个变量等于多个字符串-Python

如何使一个变量等于多个字符串-Python,python,string,variables,python-3.3,Python,String,Variables,Python 3.3,我正在做一个问答游戏,当我被问到任何问题时,我都会输入正确的答案,我在a变量中定义了正确的答案,但如果它不是该变量的第一个单词(在本例中为Metallica),它会说它是错误的。下面是我的代码的样子 q1answer = "Metallica" or "metallica" or "Slayer" or "slayer" or "Anthrax" or "anthrax" or "Megadeth" or "megadeth" answerinput = str(input("name one

我正在做一个问答游戏,当我被问到任何问题时,我都会输入正确的答案,我在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变量的第一个单词。但是,如果我输入metallica,Slayer,Slayer,炭疽,炭疽,megadeth或megadeth,我会得到错误的答案文本。如果我要在变量中键入除第一个单词以外的任何内容,那么有没有办法让所有这些字符串都对这个变量起作用?我是python新手,所以任何帮助都会很好。

将它们放在一个集合中,并使用
中的
测试正确答案:

q1answer = {"Metallica", "metallica", "Slayer", "slayer", "Anthrax", "anthrax", "Megadeth", "megadeth"}
...
if answerinput in q1answer:
现在,您的
系列只产生了第一个-
“Metallica”
。您还可以停止复制每个名称,使其不区分大小写,而是使用
lower

if answerinput.lower() in q1answer:

将它们放在一组中,改为使用
中的
测试正确答案:

q1answer = {"Metallica", "metallica", "Slayer", "slayer", "Anthrax", "anthrax", "Megadeth", "megadeth"}
...
if answerinput in q1answer:
现在,您的
系列只产生了第一个-
“Metallica”
。您还可以停止复制每个名称,使其不区分大小写,而是使用
lower

if answerinput.lower() in q1answer:

按如下方式更改代码:

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

if answerinput.lower() in q1answer:
    ...

按如下方式更改代码:

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

if answerinput.lower() in q1answer:
    ...

旁白:你可以简单地使用
input(“…”)
,没有必要使用
str(input(“…”)
。虽然使用
raw\u input(“…”)
)会更好一些:操作使用的是Python 3.3。旁白:你可以简单地使用
input(“…”
,但没有必要使用
str(input(“…”)
。尽管最好使用
原始输入(“…”)
@elssar:OP使用的是Python 3.3。