2017-02-20 4 views
1

数日前にプログラミングを始めました。私はこのプログラムを作って、ユーザーがクイズを作成できるようにしました(すべてのQとAはファイルに書き込まれます)。答えファイルを読むには、with文を使ってすべての行を個別に抽出し、 Qsファイルのこれはうまく動作し、私が比較したい値は確かです。しかし、答えが実際にファイルのものと一致すると、if文はまだelseコマンドを返します!信じられない!ここでは、説明のために出力します。IF文はファイルから受信した値を比較しません

質問番号1:いただきましたお名前

入力回答:アブド

申し訳ありませんが、間違ってthatsの!右の答えは:0

質問番号2:いただきました私の名前

入力回答:

あなたのスコアがあるアブドabdo1

申し訳ありませんが、間違ってthatsの!正しい答えは次のとおりです。abdo1

あなたのスコアは次のとおりです。0

は、これは私のコードです:

import sys 
questions = [] 
answers = [] 
score = 0 
print("+++++++++++++++Welcome to SS Quiz Maker++++++++++++++++") 
save = input("Would you like to create a new quiz or load your saved one :") 
if save == "y": 
    for i in range(0,2): 
     print("Question number",i + 1) 
     questions.append(input("Enter a Question :")) 
     answers.append(input("Enter an Answer :")) 

    f = open("SS_QUIZ_QUESTIONS.txt", "w") 
    f.truncate() 
    for i in questions: 
     f.write(i) 
     f.write("\n") 
    f.close() 
    f = open("SS_QUIZ_ANSWERS.txt", "w") 
    for i in answers: 
     f.write(i) 
     f.write("\n") 
    f.close() 
else: 
    for i in range(0,2): 
     with open('SS_QUIZ_QUESTIONS.txt') as f: 
      u = 1 
      for line in f: 
       if u == i + 1: 
        break 
     with open('SS_QUIZ_ANSWERS.txt') as f: 
      u = 1 
      for line2 in f: 
       if u == i + 1: 
        break 
     print("Question Number ",i + 1," :",line) 
     ans = str(input("input the Answer :")) 

     if ans == line2: 
      print("Correct") 
      score = score +1 
      print("Your score is :",score) 

     else: 
      print("Sorry, thats Wrong!") 
      print("The right answer is :", line2) 
      print("Your score is :",score) 
+0

を行う必要があるのでしょうか?あなたは2つのラインを並べて印刷できますか? – depperm

+0

空白で何を意味していますか –

+0

ごめんなさいPythonについてあまり気にしないでください。私と一緒にお待ちください –

答えて

2

問題は、あなたがあなたのファイルへの答えを書くとき、あなたも書くことです改行文字"\n"。さて、文字列を比較すると、実際にはabdo1abdo1\nを比較していますが、これはfalseです。比較する前にline2文字列に.rstrip()メソッドを使用してください。あなたのコードで

:空白は

if ans == line2.rstrip(): 

トリック

+0

を見て、Leon Zとdeppermに感謝します。魅力的な作品! –

+0

@AbdulrahmanAttiaよろしくお願いします! :) –

関連する問題