Eigenes Projekt · Station 3 von 10
Pat's Quiz
Ein Quiz-Programm mit Fenster: Allgemeinwissen, Python, Englisch, Vokabeln und Abkürzungen, mit Highscore.

Ziel
Aus den Python-Grundlagen ein richtiges Programm mit Oberfläche bauen.
Umsetzung
- Oberfläche mit tkinter und einem eigenen Farbschema (ttk-Theme).
- Fragen und Ergebnisse liegen in einer SQLite-Datenbank und in CSV-Dateien.
- Klassen für die Fenster, die Zufallsauswahl der Fragen und die Bestenliste.
Code
Eine Frage mit zwei falschen Antworten ziehen
def random_generate(library):
if library == 1:
dictionary = open_base()
elif library == 2:
dictionary = open_python()
elif library == 3:
dictionary = open_english()
data_count = len(dictionary)
data_count -= 1
rnd = randint(0, data_count)
rnd_w1 = randint(0, data_count)
rnd_w2 = randint(0, data_count)
for i in dictionary[f"id{rnd}"]:
term = (i['term'])
definition = (i['definition'])
if library == 2:
beginner_explanation = (i['beginner_explanation'])
else:
beginner_explanation = None
wrong1 = dictionary[f"id{rnd_w1}"][-1]['definition']
wrong2 = dictionary[f"id{rnd_w2}"][-1]['definition']
answers = [definition, wrong1, wrong2]
shuffle(answers)
right_answer = definition
return term, definition, answers, beginner_explanation, right_answerDie richtige Antwort wird mit zwei zufälligen falschen gemischt.
Was ich gelernt habe
Programme in Klassen und Dateien aufzuteilen. Die Oberfläche hat dabei mehr Arbeit gemacht als die Logik dahinter.