Python Mini-Projekt: Quiz-Spiel

Ziel des Tages

Heute kombinierst du alles, was du gelernt hast:

Am Ende hast du ein kleines Spiel, das du weiter ausbauen kannst.

Schritt 1: Grundstruktur des Quiz


questions = {
    "Was ist die Hauptstadt von Deutschland?": "Berlin",
    "2+2 = ?": "4",
    "Ist Python eine Programmiersprache?": "Yes"
}

points = 0

for question in questions:
    answer = input(question + " ")
    if answer == questions[question]:
        points += 1
        print("Richtig!")
    else:
        print("Falsch!")

print("Du hast", points, "von", len(questions), "Punkten erreicht!")

Erklärung:

Schritt 2: Antworten verbessern


answer = input(question + " ").lower()

if answer == questions[question].lower():

👉 .lower() wandelt alles in Kleinbuchstaben um → vermeidet Fehler bei Groß-/Kleinschreibung

Schritt 3: Kategorien


quiz = {
    "Mathe": {
        "2+2 = ?": "4",
        "5*3 = ?": "15"
    },
    "Allgemein": {
        "Hauptstadt von Deutschland?": "Berlin"
    }
}

category = input("Wähle eine Kategorie: ")
questions = quiz[category]

Schritt 4: Schwierigkeitsstufen


quiz = {
    "leicht": {
        "2+2": "4"
    },
    "schwer": {
        "12*12": "144"
    }
}

level = input("Wähle Schwierigkeit (leicht/schwer): ")
questions = quiz[level]

Schritt 5: Ergebnisse speichern


file = open("ergebnisse.txt", "a")
file.write("Punkte: " + str(points) + "\n")
file.close()

Schritt 6: Komplettes Beispiel


import random

quiz = {
    "leicht": {
        "2+2": "4",
        "3+5": "8"
    },
    "schwer": {
        "12*12": "144",
        "15*3": "45"
    }
}

level = input("Wähle Schwierigkeit (leicht/schwer): ")
questions = quiz[level]

points = 0

for question in questions:
    answer = input(question + " ").lower()
    if answer == questions[question].lower():
        points += 1
        print("Richtig!")
    else:
        print("Falsch!")

print("Du hast", points, "von", len(questions), "Punkten erreicht!")

# Ergebnisse speichern
file = open("ergebnisse.txt", "a")
file.write("Level: " + level + " Punkte: " + str(points) + "\n")
file.close()

Übung (Erweiterung)

Beispiel für Zufall:


import random
question = random.choice(list(questions.keys()))