„Poke her with the soft cushions! … Fetch the comfy chair!“
— Spanish Inquisition · Flying Circus, 1970
Erst läuft es — dann muss es auch robust sein.
Konzept
Dein Quiz läuft. Aber: läuft es auch, wenn der User komische Dinge tippt? Drei Tests, die du selbst machen kannst:
- Leere Eingabe: Was passiert bei einfachem Enter?
- Falsche Groß/Klein-Schreibung: „paris" statt „Paris" sollte
ok sein (haben wir mit
.lower()schon). - Highscore-Datei beschädigt: Schreib in
highscore.txtwas Unsinniges wie"hundert". Lädt der Code es trotzdem als 0?
Was du erweitern könntest:
- Wenn
len(fragen)gleich 0 ist — Programm soll nicht crashen. - Anzahl der Versuche pro Frage erhöhen (max 2 Anläufe).
- Reihenfolge der Fragen mischen (
random.shuffle).
Achtung: Jedes Feature kostet Code. Nicht alles auf einmal — pro Iteration nur einen Punkt einbauen, testen, weiter. So merkst du schnell, wenn etwas bricht.
Live-Code
Variante mit gemischter Fragen-Reihenfolge:
Bei jedem Run kommt die Liste in anderer Reihenfolge.
Übung
Bau random.shuffle(fragen) in den Quiz-Code aus Lesson 8.3 ein —
direkt vor dem Aufruf von spiele_quiz.
Quiz
Was ist der Sinn eines Tests „mit komischen Eingaben"?
- [ ] Den User ärgern
- [x] Robustheit prüfen — der Code soll nicht crashen
- [ ] Performance messen
Modul 8 — Mini-Projekt. Fragen zur Lesson? Der KI-Tutor unten rechts kennt deinen letzten Run.