So I'm getting the constant error of there being it reading the loop too many times and I was wondering how to fix that, I'm currently working in school on the python learning book and on trivia 2 i'm starting to slip because of this problem.
Thank you!
#18_Trivia2 import sys def open_file(file_name, mode): """Open a file""" 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\nPress the enter key to exit") sys.exit() else: return the_file def next_line(the_file): """Return next line fromthe trvia 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) points = next_line(the_file) return category, question, answers, correct, explanation, int(points) def welcome(title): """Welcome the player and get his/her name""" print("\t\tWelcome to Trivia Challenge!\n") def main(): trivia_file = open_file("trivia.txt","r") title = next_line(trivia_file) welcome(title) score = 0 #Get first block category, question, answers, correct, explanation, points = 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("What's your answer?: ") #Check answer if answer == correct: print("\nRight!",end = " ") score += points else: print("\nWrong.",end = " ") print(explanation) print("Score: ",score,"\n\n") #Get next block category, question, answers, correct, explanation, points = next_block(trivia_file) trivia_file.close() print("That was the last question!") print("You're final score is",score) main() input("Press the enter key to exit")The error it has been showing me is:
Output:Traceback (most recent call last):
File "C:\Users\milll929\Downloads\Mills_17_Trivia.py", line 81, in <module>
main()
File "C:\Users\milll929\Downloads\Mills_17_Trivia.py", line 75, in main
category, question, answers, correct, explanation, points = next_block(trivia_file)
File "C:\Users\milll929\Downloads\Mills_17_Trivia.py", line 41, in next_block
return category, question, answers, correct, explanation, int(points)
ValueError: invalid literal for int() with base 10: ''
Which my teacher has told me it is a problem with looping and it doing it too many times, can I please get some help?Thank you!