-2
このPythonコードは、間違った情報を答えとして選択していて、対応する数字の代わりに正解の最初の文字を選択しています。Pythonの読み込みが正しくない
#Trivia Challenge Game
#Trivia game that reads a plain text file
import sys
title = "Title"
def open_file(file_name, mode):
try:
the_file = open(file_name,mode)
except IOError as e:
print("Unable to open the file",file_name,"ending program \n",e)
input("\n\n press the enter key to exit")
sys.exit()
else:
return the_file
def next_line(the_file):
"""returns the next line from the trivia file, formatted"""
line = the_file.readline()
line = line.replace("/","\n")
return line
def next_block(the_file):
"""return the next block of data from the trivia file"""
category = next_line(the_file)
question = next_line(the_file)
answers = []
for i in range(4):
answers.append(next_line(the_file))
correct = next_line(the_file)
if correct:
correct = correct[0]
explanation = next_line(the_file)
return category, question, answers, correct, explanation
def welcome(title):
"""welcome the player and get his/her name"""
print("welcome to the quiz")
print("\t\t",title,"\t\t")
def main():
trivia_file = open_file("data.txt","r")
title = next_line(trivia_file)
welcome(title)
score = 0
#get first block
category,question,answers,correct,explanation = next_block(trivia_file)
while category:
#ask a question
print(category)
print(question)
for i in range(4):
print("\t",i+1,"-",answers[i])
#get answer
answer = input("whats your answer:")
#check answer
print(correct," ",answer)
if answer == correct:
print("Right!",end=" ")
score += 1
else:
print("Wrong!",end =" ")
print(explanation)
print("score: ",score,"\n\n")
#get next block
category,question,answers,correct,explanation = next_block(trivia_file)
trivia_file.close()
print("That was the last question")
print("Your final score is",score)
main()
input("press the enter key to exit")
あなたはそれが正しく機能していない理由は、素晴らしいだろうと指摘することができれば=)
予想される出力は何ですか?データファイルの内容は何ですか? – Kewl