Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Python Trivia-Spiel programmieren: Klassen, Module und Spiel-Logik Schritt für Schritt

Lerne, wie du mit Python ein eigenes Trivia-Spiel baust – inklusive Fragen-Klasse, Modul-Import und Punktezähler. Perfekt für Programmieranfänger, die OOP und modulare Entwicklung üben wollen.

Python Trivia-Spiel Python Quiz programmieren Python Klasse Frage Python Module importieren Python Spiel Logik Python Übung Anfänger Python OOP Beispiel Python Trivia Projekt Python Coding Challenge Python Quiz App Python Tutorial 2026 Python Fragenkatalog Python Punktezähler Python zwei Spieler Python modulare Programmierung Python Objektorientierung lernen

Python Trivia-Spiel: Ein unterhaltsamer Einstieg in objektorientierte Programmierung

Trivia-Spiele sind nicht nur auf Partys beliebt – sie eignen sich hervorragend, um grundlegende Konzepte der Python-Programmierung wie Klassen, Module und Spiel-Logik zu üben. Inspiriert von aktuellen Quiz-Apps wie „Quizduell“ oder „Trivia Crack“ baust du in dieser Übung ein eigenes textbasiertes Quiz für zwei Spieler. Dabei lernst du, wie du Code strukturierst, wiederverwendbare Komponenten erstellst und eine interaktive Benutzererfahrung gestaltest.

Die Grundlage: Die Questions-Klasse

Das Herzstück deines Trivia-Spiels ist eine Klasse, die eine einzelne Frage mit ihren vier Antwortmöglichkeiten und der korrekten Antwort speichert. In Python definierst du eine Klasse mit dem Schlüsselwort class. Die __init__-Methode initialisiert die Attribute:

class Question:
    def __init__(self, frage, antwort1, antwort2, antwort3, antwort4, korrekt):
        self.frage = frage
        self.antworten = [antwort1, antwort2, antwort3, antwort4]
        self.korrekt = korrekt

Du kannst auch eine __str__-Methode hinzufügen, um die Frage schön darzustellen. Denk daran: Die Klasse enthält nur die Datenstruktur – keine Spiellogik. So bleibt dein Code sauber und erweiterbar.

Modul 2: Fragen generieren mit einer Funktion

Im zweiten Modul erstellst du eine Funktion, die eine Liste von Question-Objekten zurückgibt. Diese Funktion importiert die Klasse aus dem ersten Modul. Wichtig: Die Anzahl der Fragen muss gerade sein, damit beide Spieler gleich viele Runden haben. Mindestens 10 Fragen sind gefordert. Du kannst kreative Fragen aus den Bereichen Popkultur, Gaming oder aktuelle Trends einbauen – zum Beispiel: „Welcher Streamer hat die meisten Twitch-Abonnenten im Jahr 2026?“ oder „Welche KI-App generiert die besten Memes?“

from frage import Question

def frage_liste_erstellen():
    fragen = []
    fragen.append(Question("Wie viele Tage hat ein Schaltjahr?", "365", "366", "364", "360", 2))
    # Füge hier weitere Fragen hinzu...
    return fragen

Dieses Modul enthält nur die Funktion – keine Klasse oder Spielschleife. Das fördert die modulare Programmierung und macht den Code testbar.

Der Driver: Das Spiel läuft

Im Hauptprogramm importierst du die Funktion aus Modul 2 und steuerst den Ablauf: Zwei Spieler wechseln sich ab, bekommen eine Frage gestellt, wählen eine Antwort (1-4) und erhalten bei Richtigkeit einen Punkt. Am Ende werden die Punkte verglichen und der Sieger verkündet. Ein typischer Ablauf sieht so aus:

from fragen import frage_liste_erstellen

def spielen():
    fragen = frage_liste_erstellen()
    punkte_spieler1 = 0
    punkte_spieler2 = 0
    for i, f in enumerate(fragen):
        if i % 2 == 0:
            print("Frage für Spieler 1:")
        else:
            print("Frage für Spieler 2:")
        print(f.frage)
        for j, antwort in enumerate(f.antworten, 1):
            print(f"{j}. {antwort}")
        antwort = int(input("Deine Antwort (1-4): "))
        if antwort == f.korrekt:
            if i % 2 == 0:
                punkte_spieler1 += 1
            else:
                punkte_spieler2 += 1
            print("Richtig!")
        else:
            print(f"Falsch. Die richtige Antwort war {f.korrekt}.")
    print(f"Spieler 1: {punkte_spieler1} Punkte")
    print(f"Spieler 2: {punkte_spieler2} Punkte")
    if punkte_spieler1 > punkte_spieler2:
        print("Spieler 1 gewinnt!")
    elif punkte_spieler2 > punkte_spieler1:
        print("Spieler 2 gewinnt!")
    else:
        print("Unentschieden!")

Tipps für dein eigenes Trivia-Spiel

  • Erweitere die Fragen: Nutze aktuelle Themen wie Künstliche Intelligenz, Social Media Trends oder E-Sports, um dein Quiz interessant zu machen.
  • Füge Schwierigkeitsgrade hinzu: Weise jeder Frage einen Schwierigkeitswert zu und multipliziere die Punkte entsprechend.
  • Speichere Highscores: Verwende eine Datei oder eine einfache Datenbank, um Bestenlisten zu führen.
  • Nutze Module: Trenne die Spiellogik von der Benutzeroberfläche – so kannst du später leicht eine GUI mit tkinter oder pygame hinzufügen.

Warum dieses Projekt dich weiterbringt

Das Trivia-Spiel vereint objektorientierte Programmierung (Klassen), modulare Entwicklung (Importe) und Steuerungslogik (Schleifen, Bedingungen). Es ist ein ideales Übungsprojekt für Anfänger, die ihre Kenntnisse in Python vertiefen möchten. Mit nur wenigen Zeilen Code entsteht ein unterhaltsames Spiel, das du deinen Freunden vorführen kannst.

„Programmieren lernt man am besten, indem man etwas baut, das Spaß macht.“ – Unbekannt

Probier es aus: Starte mit der Questions-Klasse, füge deine eigenen Quizfragen hinzu und lass das Spiel laufen. Schon bald wirst du die Grundlagen von Python sicher beherrschen und kannst dich an komplexere Projekte wagen.