何らかの理由で、正解が入力されたときにコードがスコアを上げることはありません。それは複数の選択肢のクイズですので、それは答えの正しい手紙の入力を求める理由です。私はチェックして、答えやuserAnswer変数に間違いはありませんが、両方とも一致しても、スコア値は1ずつ増加しません。MathQuiz.txtは、クイズの質問と回答を含むファイルです。誰もがこれを修正する方法を知っていますか?ありがとう。
これは私のコードです:readline()関数から文字列内の改行を取り除く方法は?
def questions():
lol = open("MathQuiz.txt", 'r')
score = 0
for x in range(5):
print(lol.readline())
print(lol.readline())
answer = lol.readline()
userAnswer = input("Please chooose the letter correponding to your answer: ")
while userAnswer.isspace() or userAnswer == "":
print("You must enter a valid letter.")
userAnswer = input("Please chooose the letter correponding to your answer: ")
if answer == userAnswer:
score += 1
else:
score = score
print(lol.readline())
print("Your score is ", score)
questions()
テキストファイルには、次のようになります。
1.Whatは私の名前ですか?
a)はグレースb)はエリーc)はクレイグd)はヴェロニカ
D
2.Whatは私の年齢のですか?
A)12 b)の18 C)45 D)15
3.Where私が住んでいますか?
a)のバーミンガムb)はロンドンc)はリーズd)はスコットランド
C
4.Whatは私の誕生日ですか!
a)は5月6日b)は1月4日c)は8月12日d)は6月12日
D
5.Whatは私の好きな色ですか?
a)は、オレンジ色のb)のレッドC)ブルーD)ピンク
C
[これらの答えが正しくない - それはランダムな例です]
あなたはrepresen見てきましたそれぞれのテーション? –
比較する前にこれを試すことができますか?答え= lol.readline()。strip()。私は新しいラインのキャラクターがあなたを捨てていると思う。 – rgk
@rgkそれは働く。どうもありがとうございました。私はこの日にこれについてきました。 – Grace