数日前にプログラミングを始めました。私はこのプログラムを作って、ユーザーがクイズを作成できるようにしました(すべての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)
を行う必要があるのでしょうか?あなたは2つのラインを並べて印刷できますか? – depperm
空白で何を意味していますか –
ごめんなさいPythonについてあまり気にしないでください。私と一緒にお待ちください –