Forscherheft · Folge 5

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.

💡 Merke dir das Wichtigste
🧪 Mach es an deinem Pi
🕹️ Mitmach-Aufgaben & Quiz
1

while-Schleifen

Du lernst: Eine Schleife, die so lange läuft, wie eine Bedingung wahr ist.

📂 Bevor du startest

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

zahlen.py
zahl = 0 while zahl < 5: print(zahl) zahl = zahl + 1

Schauen wir uns genau an, was passiert:

1
Python prüft: Ist zahl kleiner als 5? Ja (0 < 5) → führe den eingerückten Block aus.
2
print(zahl) gibt die Zahl aus; dann wird zahl um 1 erhöht.
3
Python springt zurück und prüft wieder: kleiner als 5? Das wiederholt sich für 0, 1, 2, 3, 4.
4
Bei zahl = 5: 5 ist nicht kleiner als 5 → Schleife endet, Programm läuft weiter.
💡 Merke dir

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.

⚠️ Endlosschleife – was tun?
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?

🧪 Mach es an deinem Pi

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?

Station 1 geschafft!
2

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:

import random
Lädt das Zufallszahlen-Modul – muss ganz oben im Programm stehen.
random.randint(1, 20)
Gibt eine zufällige ganze Zahl zwischen 1 und 20 zurück (beide Grenzen eingeschlossen).
Zwei neue Befehle: 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.
💡 Merke dir

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?

🧪 Mach es an deinem Pi

Ö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!

Station 2 geschafft!
3

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

ratespiel_v1.py
import random geheimzahl = random.randint(1, 20) geraten = False print("Ich denke an eine Zahl zwischen 1 und 20!") while not geraten: tipp = int(input("Dein Tipp: ")) if tipp == geheimzahl: print("Richtig! 🎉") geraten = True elif tipp < geheimzahl: print("Höher!") else: print("Niedriger!")
Was bedeutet 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.
1
Zufallszahl: random.randint(1, 20) lässt den Computer heimlich eine Zahl würfeln – du siehst sie nicht.
2
Schleife: 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.
3
Eingabe: int(input(...)) liest deinen Tipp ein und wandelt ihn sofort in eine Zahl um.
4
Entscheidung: if/elif/else sagt dir, ob du höher oder niedriger raten musst.
🕹️ Probier das Ratespiel live aus!

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
Terminal — Ratespiel
Dein Tipp:
🧪 Mach es an deinem Pi

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!

🔜 Demnächst

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?

Station 3 geschafft!
📚

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 True ergibt False, not False ergibt True. Damit kann man prüfen, ob etwas noch nicht passiert ist.
Modul
Eine fertige Sammlung von Python-Befehlen, die man mit import lädt – ähnlich wie eine Bibliothek. random ist 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() und int(), um Eingaben vom Benutzer einzulesen und zu verarbeiten.
  • … und du hast dein eigenes Zahlen-Ratespiel gebaut! 🎲
💡 Merke dir

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!

Rückblick gelesen!

Bonus-Quiz

Freiwillig! Teste, wie viel du dir aus Folge 5 gemerkt hast.

⭐ Optional

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! 🎲

Start