I tried to make a Quiz Game using Python, inspired by a youtube video, I checked everything and it seems to be right, but it isn't working. First it can't distinguish a right answer from a wrong answer, it always identifies that you picked the wrong answer, even if you hit the question. Secondly, it does show the right answers, but it can't show your guesses, and it's followed by some other errors messages.
The code is right below: (I made some meme questions in the quiz, hope you don't mind haha)
def new_game():
guesses = []
correct_guesses: 0
question_num = 1
for key in questions:
print("\n\n")
print(key)
for item in options[question_num-1]:
print(item)
guess = input("Enter A, B, C or D: ")
guess = guess.upper
guesses.append(guess)
question_num += 1
correct_guesses = check_answer(questions.get(key), guesses)
display_score(correct_guesses, guesses)
def check_answer(answer, guess):
if answer == guess:
print("CORRECT! NICE")
return 1
else:
print("\n\nNooo, it's wrong")
return 0
def display_score(guesses, correct_guesses):
print("---------------------")
print("RESULTS")
print("---------------------")
print("Answers: ", end="")
for i in questions:
print(questions.get(i), end=" ")
print()
print("Guesses: ", end="")
for item in guesses:
print(item, end=" ")
print()
score = int((correct_guesses/len(questions)) * 100)
print("Your score is: " + str(score) + "%")
def play_again():
response = input("Do you wanna play again?" "(yes or no?): ")
response = response.lower
if response == "yes":
return True
else:
return False
questions = {"Qual a data de nascimento de Second?": "B",
"Qual o ditador favorito de Packat?": "B",
"Qual a segunda lei da termodinâmica?": "C",
"Qual a melhor obra asiática já feita?": "D"}
options = [["A. 25/12/2004", "B. 31/03/2004", "C. 31/04/2003", "D. 21/06/2003"],
["A. Josef Stalin", "B. Nicolás Maduro", "C. Xin Jin Ping", "D. Kim Jon Un"],
["A. Ação e reação", "B. Princípio da Conservação de Energia", "C. Entropia", "D. Princípio da Incerteza"],
["A. Naruto", "B. HunterxHunter", "C. One Piece", "D. Solo Leveling"]]
new_game()
while play_again:
new_game()
print("Byeeee")
the errors messages that appear are:
RESULTS
---------------------
Answers: B B C D
Guesses: Traceback (most recent call last):
File "c:\Users\Segundinho\Documents\Programação\Python\Learning\quiz game.py", line 104, in <module>
new_game()
File "c:\Users\Segundinho\Documents\Programação\Python\Learning\quiz game.py", line 27, in new_game
display_score(correct_guesses, guesses)
File "c:\Users\Segundinho\Documents\Programação\Python\Learning\quiz game.py", line 58, in display_score
for item in guesses:
TypeError: 'int' object is not iterable
Can someone please help me out?