2017-10-27 20 views
2

何らかの理由で、正解が入力されたときにコードがスコアを上げることはありません。それは複数の選択肢のクイズですので、それは答えの正しい手紙の入力を求める理由です。私はチェックして、答えや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

[これらの答えが正しくない - それはランダムな例です]

+0

あなたはrepresen見てきましたそれぞれのテーション? –

+1

比較する前にこれを試すことができますか?答え= lol.readline()。strip()。私は新しいラインのキャラクターがあなたを捨てていると思う。 – rgk

+1

@rgkそれは働く。どうもありがとうございました。私はこの日にこれについてきました。 – Grace

答えて

1

これに対する答えを必要とする人のために、@ RGKは私が

answer = lol.readline().strip() 

は私の問題を解決する方法であることを知らせています:)