Schleifen & dein Ratespiel
Du kennst schon if und elif. Jetzt lernst du Schleifen, die so lange laufen, bis etwas passiert – und baust damit dein eigenes Zahlen-Ratespiel!
🧭 So funktioniert diese Folge
Auch diese Folge braucht keine Zusatzteile – nur deinen Pi, Tastatur und Maus.
while-Schleifen
Du lernst: Eine Schleife, die so lange läuft, wie eine Bedingung wahr ist.
Leg einen neuen Ordner an: ~/Forscherheft/ratespiel. Dort landen dein Zahlenprogramm und dein Ratespiel – und alle späteren Versionen davon.
In Folge 3 hast du for i in range(4) gelernt – eine Schleife mit fester Anzahl Wiederholungen. Manchmal weißt du aber nicht, wie oft du etwas wiederholen musst – du weißt nur, wann du aufhören willst. Genau dafür gibt es while.
🔁 while – solange eine Bedingung wahr ist
Schauen wir uns genau an, was passiert:
zahl kleiner als 5? Ja (0 < 5) → führe den eingerückten Block aus.print(zahl) gibt die Zahl aus; dann wird zahl um 1 erhöht.zahl = 5: 5 ist nicht kleiner als 5 → Schleife endet, Programm läuft weiter.Eine while-Schleife prüft ihre Bedingung vor jedem Durchlauf. Sobald die Bedingung False wird, hört sie auf. Wenn die Bedingung nie falsch wird, läuft die Schleife ewig – das nennt man eine Endlosschleife.
Wenn du aus Versehen eine Endlosschleife schreibst, läuft dein Programm ewig. Im Terminal kannst du es mit Strg + C (gleichzeitig) abbrechen. In Thonny gibt es dafür den roten „Stopp"-Knopf. Keine Panik – das passiert jedem Programmierer!
🧠 Schnell-Check: Was prüft eine while-Schleife vor jedem Durchlauf?
Tippe zahlen.py in Thonny ab und speichere es in ~/Forscherheft/ratespiel. Ändere die Zahl 5 auf 10 – was wird ausgegeben? Was passiert, wenn du zahl = zahl + 1 weglässt?
Zufall und Eingaben
Du lernst: Wie der Computer eine zufällige Zahl würfelt und wie du Eingaben einliest.
Für dein Ratespiel brauchst du drei neue Dinge: eine Zufallszahl vom Computer, eine Eingabe von dir, und die Umwandlung von Text in eine Zahl.
🎲 random.randint() – der Computer würfelt
Python hat ein Modul namens random, das Zufallszahlen erzeugen kann. Mit import random lädst du es, dann kannst du random.randint(1, 20) benutzen:
input() und int()input("Dein Tipp: ") hält das Programm an, zeigt den Text an und wartet, bis du etwas eintippst und ⏎ drückst. Was du eingibst, gibt input() immer als Text zurück – auch wenn du eine Zahl getippt hast!Deshalb steht
int() darum: Es wandelt den Text "7" in die Zahl 7 um. Ohne das könnte Python nicht tipp < geheimzahl vergleichen, weil man Texte und Zahlen nicht direkt vergleichen kann.
int(input("Dein Tipp: ")) ist eigentlich zwei Befehle in einem: Zuerst liest input() den Text ein, dann wandelt int() ihn sofort in eine Zahl um. Das spart eine extra Zeile.
🧠 Schnell-Check: Warum braucht man int() um input() herum?
Öffne die Python-Konsole in Thonny (unten im Fenster) und tippe direkt ein: import random ⏎, dann random.randint(1, 20) ⏎. Probiere es mehrmals – jedes Mal erscheint eine andere Zahl!
Dein Ratespiel
Du lernst: while, if/elif/else, input() und random zu einem echten Spiel kombinieren.
Jetzt kombinierst du alles: Die while-Schleife aus Station 1 und die neuen Befehle aus Station 2. Das Ergebnis: ein Zahlen-Ratespiel, das im Terminal läuft!
🛠️ Der vollständige Code
not? Das Wort not dreht einen Wahrheitswert um: not False ergibt True, und not True ergibt False. while not geraten heißt also: „Wiederhole, solange geraten noch nicht wahr ist." Sobald geraten = True gesetzt wird, endet die Schleife.
random.randint(1, 20) lässt den Computer heimlich eine Zahl würfeln – du siehst sie nicht.while not geraten läuft so lange, bis geraten auf True gesetzt wird. not dreht False zu True um – solange also geraten noch False ist, läuft die Schleife weiter.int(input(...)) liest deinen Tipp ein und wandelt ihn sofort in eine Zahl um.if/elif/else sagt dir, ob du höher oder niedriger raten musst.Dieses Terminal simuliert dein fertiges Ratespiel. Die Geheimzahl liegt zwischen 1 und 20 – probier es aus! Tipp einfach eine Zahl ein und drück ⏎.
🎯 Mission: Errate die Geheimzahl
- Gib eine Zahl zwischen 1 und 20 ein
- Errate die Geheimzahl richtig
Tippe das ganze Ratespiel in Thonny ab und speichere es als ratespiel_v1.py in ~/Forscherheft/ratespiel. Das „v1" steht für „Version 1" – in einer späteren Folge erweiterst du es. Starte es und spiel ein paar Runden!
Dein Ratespiel vergisst nach jedem Beenden alles – auch deine beste Anzahl an Versuchen. In Folge 7 lernst du, wie ein Programm Daten in einer Datei speichert, und erweiterst dein Ratespiel um einen echten Highscore!
🧠 Schnell-Check: Was macht while not geraten?
Glossar – neue Wörter aus Folge 5
Diese Begriffe kommen zu deinem Wissen aus den vorherigen Folgen dazu.
- while-Schleife
- Eine Schleife, die läuft, solange eine Bedingung wahr ist – im Gegensatz zu einer festen Anzahl Wiederholungen.
- Endlosschleife
- Eine Schleife, deren Bedingung niemals falsch wird – sie läuft ewig, bis man das Programm mit Strg + C abbricht.
- Strg + C
- Tastenkombination, um ein laufendes Terminal-Programm sofort abzubrechen.
- not
- Dreht einen Wahrheitswert um:
not TrueergibtFalse,not FalseergibtTrue. Damit kann man prüfen, ob etwas noch nicht passiert ist. - Modul
- Eine fertige Sammlung von Python-Befehlen, die man mit
importlädt – ähnlich wie eine Bibliothek.randomist z. B. ein Modul für Zufallszahlen. - import
- Lädt ein Modul in dein Programm. Muss ganz oben stehen, bevor du die Befehle des Moduls benutzt.
- random.randint()
- Ein Befehl, der eine zufällige ganze Zahl zwischen zwei angegebenen Werten erzeugt.
- input()
- Hält das Programm an und wartet auf eine Texteingabe vom Benutzer. Gibt das Eingetippte immer als Text zurück.
- int()
- Wandelt einen Text wie
"7"in eine ganze Zahl um, damit man damit rechnen oder vergleichen kann.
Das hast du in Folge 5 gelernt
Ein kurzer Rückblick auf dein Ratespiel.
Du hast heute die letzten fehlenden Bausteine für dein erstes echtes Spiel gelernt. Du kennst jetzt …
- …
while-Schleifen, die laufen, solange eine Bedingung wahr ist. - … was eine Endlosschleife ist – und wie man sie mit Strg + C abbricht.
- …
random.randint(), damit der Computer selbst eine Zahl würfeln kann. - …
input()undint(), um Eingaben vom Benutzer einzulesen und zu verarbeiten. - … und du hast dein eigenes Zahlen-Ratespiel gebaut! 🎲
Mit Variablen, Bedingungen und Schleifen hast du jetzt die drei wichtigsten Bausteine, aus denen fast jedes Programm der Welt besteht – egal ob Spiel, App oder Webseite!
Bonus-Quiz
Freiwillig! Teste, wie viel du dir aus Folge 5 gemerkt hast.
Diese Fragen sind freiwillig – du kannst auch direkt weitergehen. Kein Druck!
🧠 Was macht eine while-Schleife?
🧠 Was gibt input() zurück, wenn du die Zahl 7 eintippst?
🧠 Was tust du, wenn dein Programm in einer Endlosschleife feststeckt?
Was kommt als Nächstes?
Ein Blick auf Folge 6.
Du hast jetzt ein richtig solides Grundwissen: Hardware und Software verstehen, deinen Pi bedienen, Programme installieren, und selbst mit Scratch und Python programmieren – inklusive Entscheidungen, Schleifen und deinem eigenen Spiel. Du hast dabei auch richtig viel getippt!
Darum geht es in Folge 6 genau darum: Du lernst, mit allen zehn Fingern zu tippen, ohne auf die Tastatur zu schauen – und übst dabei direkt an echten Terminal-Befehlen und Python-Zeilen, die du schon kennst.
Bis dahin: Spiel dein Ratespiel ruhig noch mit anderen Zahlenbereichen, zum Beispiel 1 bis 100! 🎲