1

私はクイズゲームに取り組んでおり、質問があったら、正しい答えを入力します。これは、正しい答えを保持する変数で定義しましたが、その最初の単語でない場合は間違っていると表示されます。変数(この場合、メタリカ)。これが私のコードのようです。

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...")

ここで、「メタリカ」と入力すると、q1answer変数の最初の単語であるため正しいでしょう。しかし、メタリカ、スレイヤー、スレイヤー、アンスラックス、アンスラックス、メガデス、メガデスと入力すると、間違った回答テキストが表示されます。その変数の最初の単語以外のものを入力した場合、これらの文字列すべてがこの1つの変数に対して機能する方法はありますか?私はPythonの新人なので、どんな助けでも素晴らしいでしょう。

4

2 に答える 2

3

inそれらをセットに入れ、代わりに次を使用して正解をテストします。

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

現在、一連のorsは最初のsになります- "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 に答える