示例#1
0
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')
示例#2
0
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)}")
示例#4
0
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}.")