Das Ratespiel wächst – v4
Dein Ratespiel kennt schon drei Versionen. Jetzt kommt v4 – und zum ersten Mal bringst du Listen aus Folge 9 richtig zum Einsatz: Das Spiel merkt sich deine Tipps, kann mehrere Runden spielen und zeigt danach eine Übersicht.
🧭 So funktioniert diese Folge
Kein neuer Stoff – du wendest an, was du aus Folge 9 kennst. Öffne ratespiel_v3.py in Thonny, damit du die Unterschiede direkt siehst.
Was kommt neu in v4?
Du lernst: Was wir an v3 verbessern – und warum.
In ratespiel_v3.py konnte man nach einer Runde nichts mehr nachschauen: Welche Zahlen habe ich getippt? Wie war mein Ergebnis in der letzten Runde? Das ändern wir in v4 mit zwei Ergänzungen:
rate_eine_runde() merkt sich alle Tipps einer Runde in einer Liste. Am Ende gibt sie die Liste aus.Wechsle im Terminal in ~/Forscherheft/ratespiel und kopiere:
Öffne ratespiel_v4.py in Thonny. Jetzt änderst du es Station für Station.
v1 (Folge 5): Grundspiel · v2 (Folge 7): Highscore · v3 (Folge 10): Funktionen · v4 (diese Folge): Listen. Jede Version baut auf der vorherigen auf – so sieht echte Softwareentwicklung aus.
Die Tipp-Liste
Du lernst: append() und for in einer echten Funktion einsetzen.
Die Funktion rate_eine_runde() bekommt drei neue Zeilen. Alles andere bleibt wie in v3. Hier ist die geänderte Funktion – die neuen Zeilen sind mit # NEU markiert:
tipps = [] — leere Liste, bevor die Schleife startet. Jede Runde beginnt mit einer leeren Liste.tipps.append(tipp) — jeder Tipp landet sofort in der Liste, bevor wir prüfen ob er stimmt.for t in tipps: — wenn die Zahl erraten ist, gehen wir die fertige Liste durch und geben jeden Tipp aus.🧠 Schnell-Check: Warum steht tipps = [] vor der while-Schleife und nicht drin?
Füge die drei markierten Zeilen in ratespiel_v4.py ein und starte es. Spiele eine Runde – siehst du am Ende deine Tipps?
Mehrere Runden & Rundenübersicht
Du lernst: Das Hauptprogramm mit einer zweiten Liste und Mehrfach-Runden ausbauen.
Jetzt kommt der zweite Teil: Das Hauptprogramm fragt nach jeder Runde ob man nochmal spielen möchte, speichert die Ergebnisse in ergebnisse und zeigt am Ende eine Übersicht. Hier ist das vollständige ratespiel_v4.py:
for i in range(len(ergebnisse)): — was passiert hier?len(ergebnisse) gibt die Anzahl der Runden zurück. range(3) liefert 0, 1, 2. Mit ergebnisse[i] greifst du per Index auf jedes Ergebnis zu. i + 1 macht aus 0 eine 1, damit es „Runde 1" heißt und nicht „Runde 0".
Tippe Zahlen, gewinne, beantworte dann „Nochmal?" – und sieh die Rundenübersicht am Ende!
🎯 Mission: Zwei Runden spielen
- Erste Runde gewinnen
- „ja" eingeben und zweite Runde gewinnen
- „nein" eingeben und Rundenübersicht sehen
Glossar – Konzepte aus Folge 12
Kein neuer Stoff – aber zwei Muster, die du jetzt kennst.
- range(len(liste))
- Liefert Indizes von 0 bis zur Länge der Liste − 1. Damit kannst du auf jedes Element per Index zugreifen und gleichzeitig die Positionsnummer kennen. Kombination aus
range()(Folge 3) undlen()(Folge 9). - liste[i] und i + 1
- Mit
liste[i]greifst du per Index zu.i + 1macht die 0-basierte Zählung für die Ausgabe menschenlesbar: Index 0 → „Runde 1". - Zustandsvariable (weiterspielen)
- Eine Boolean-Variable, die kontrolliert ob eine Schleife weiterläuft. Statt
while Truemitbreaksetzt man sie aufFalse, wenn die Bedingung zum Beenden erfüllt ist.
Das hast du in Folge 12 gelernt
Rückblick auf ratespiel_v4 – und auf alle vier Versionen.
In dieser Folge hast du kein neues Konzept gelernt – du hast angewendet. Das ist der wichtigste Schritt beim Programmieren lernen: bekannte Werkzeuge in einem echten Programm einsetzen.
- …
tipps = []+append()in einer Funktion – Liste füllen während der Schleife läuft. - …
for t in tipps:– am Ende der Runde alle Tipps ausgeben. - …
ergebnisse = []+ Mehrfach-Runden – Ergebnisse über mehrere Durchläufe sammeln. - …
for i in range(len(ergebnisse)):– Rundenübersicht mit Positionsnummer ausgeben.
v1 (Folge 5): while + input + random
v2 (Folge 7): + Highscore mit try/except und Datei
v3 (Folge 10): refaktoriert mit def-Funktionen und +=
v4 (diese Folge): + Tipp-Liste + mehrere Runden + Rundenübersicht
Bonus-Quiz
Freiwillig! Teste, ob du die Änderungen in v4 verstanden hast.
Diese Fragen sind freiwillig – du kannst auch direkt weitergehen. Kein Druck!
🧠 Nach Runde 1 enthält ergebnisse den Wert [5]. Nach Runde 2 (3 Versuche) – was steht dann drin?
🧠 ergebnisse = [4, 2, 7]. Was gibt ergebnisse[1] zurück?
🧠 Was ist der Unterschied zwischen for t in tipps: und for i in range(len(ergebnisse)):?
Was kommt als Nächstes?
Ein Blick auf Folge 13.
Du hast jetzt zwölf Folgen Python und Theorie hinter dir. In Folge 13 machst du eine Pause vom Programmieren und lernst die Profi-Abkürzungen am Computer kennen.
Teil A zeigt Terminal-Tricks, die dir täglich Zeit sparen: Tab-Vervollständigung, Pfeiltasten für den Befehlsverlauf, und neue Befehle wie mv und ls -l. Teil B zeigt die wichtigsten Tastenkombinationen – und einen gefährlichen Unterschied, den fast alle Anfänger erst falsch machen.