class QuizInterface: def __init__(self, question_bank): self.window = Tk() self.window.title("Quiz Game") self.window.config(padx=20, pady=20, bg=THEME_COLOR) self.score = 0 self.score_lable = Label(text=f'Score: {self.score}') self.score_lable.grid(row=0, column=1) self.quiz = QuizBrain(question_bank) self.canvas = Canvas(width=300, height=250, bg='white') text = self.quiz.next_question() self.quiz_text = self.canvas.create_text(150, 125, width=280, text=text, fill=THEME_COLOR, font=FONT) self.canvas.grid(row=1, column=0, columnspan=2, pady=50) false_img = PhotoImage(file="images/false.png") self.false_button = Button(image=false_img, highlightthickness=0, command=self.choose_false_button) self.false_button.grid(row=2, column=0) true_img = PhotoImage(file="images/true.png") self.true_button = Button(image=true_img, highlightthickness=0, command=self.choose_true_button) self.true_button.grid(row=2, column=1) self.window.mainloop() def check_answer(self, answer): if self.quiz.check_answer(answer): self.score += 1 self.score_lable.config(text=f'Score: {self.score}') if self.quiz.still_has_questions(): text = self.quiz.next_question() self.canvas.itemconfig(self.quiz_text, text=text) else: messagebox.showinfo(title="Game's Over", message=f"Your's core is: {self.score}") self.window.destroy() def choose_true_button(self): self.check_answer('true') def choose_false_button(self): self.check_answer('false')
from data import question_data from question_model import Question from quiz_brain import QuizBrain question_bank = [] for question in question_data: question_text = question["question"] question_answer = question["correct_answer"] question_category = question["category"] new_question = Question(question_text, question_answer, question_category) question_bank.append(new_question) quiz = QuizBrain(question_bank) while quiz.still_have_question(): quiz.check_answer() print(f"You've completed the quiz") print(f"Your final score was: {quiz.score}/{quiz.question_number}")
from typing import List from quiz_brain import QuizBrain from question_model import Question from data import question_data # Creating a question bank from data file question_bank: list[Question] = [] for question in range(0, len(question_data)): question_bank.append( Question(question_data[question]["question"], question_data[question]["correct_answer"])) quiz = QuizBrain(question_bank) while quiz.still_has_questions(): quiz.check_answer(quiz.next_question()) print("You've completed the quiz") print(f"Your final score is: {quiz.score}/{len(quiz.question_list)}")
from data import open_question_bank_data from quiz_brain import QuizBrain from question_model import Question from html import unescape open_question_bank = [] for question in open_question_bank_data: open_question_bank.append( Question(unescape(question["question"]), question["correct_answer"])) quiz_brain = QuizBrain(open_question_bank) while quiz_brain.still_has_questions(): quiz_brain.check_answer(quiz_brain.next_question()) print( f"Your current score is {quiz_brain.score}/{quiz_brain.question_number}.\n" ) print("That was the last question!") print(f"Your final score is {quiz_brain.score}/{quiz_brain.question_number}.")