Dein erstes richtiges Programm
Zeit für dein erstes richtiges Programm. Der Computer denkt sich eine Zahl zwischen 1 und 100 aus, du rätst, und er sagt dir nach jedem Versuch „zu groß“ oder „zu klein“. Alles, was du dafür brauchst, kennst du schon: Variablen, if/elif, eine while-Schleife und break. Neu ist nur eine Sache.
Baustein 1: Der Zufall
Python bringt fertige Werkzeugkästen mit, sogenannte Module. Mit import random holst du dir den Zufalls-Werkzeugkasten, und random.randint(1, 100) liefert eine zufällige ganze Zahl von 1 bis 100. Führ das mehrmals aus, es kommt (fast) jedes Mal etwas anderes:
Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.
Python wird einmalig im Browser geladen (ein paar Sekunden). Danach laufen alle Übungen sofort.
Baustein 2: Ein einzelner Rateversuch
Bevor die Schleife dazukommt, bau die Logik für einen Versuch. Das ist ein sauberer Weg, Programme zu entwickeln: erst ein kleines Stück bauen und testen, dann erweitern.
Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.
Python wird einmalig im Browser geladen (ein paar Sekunden). Danach laufen alle Übungen sofort.
Baustein 3: Die Schleife macht das Spiel
Jetzt kommt der Trick: Wir packen den Rateversuch in eine while True-Schleife. Die läuft absichtlich endlos, und erst bei einem Treffer bricht break aus. Dazu zählt eine Variable die Versuche mit. Das ist das komplette Spiel, spiel eine Runde:
Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.
Python wird einmalig im Browser geladen (ein paar Sekunden). Danach laufen alle Übungen sofort.
Übungen
Erst selbst versuchen, dann die Lösung aufklappen.
Baue das Spiel so um, dass der Spieler nur 7 Versuche hat. Nach dem 7. Fehlversuch endet das Spiel mit „Verloren! Die Zahl war ...“. Tipp: Ersetze while True durch while versuche < 7 und gib die Verloren-Meldung nach der Schleife aus, falls kein Treffer kam.
Tab rückt ein. Esc, dann Tab verlässt den Editor. Strg + Enter führt aus.
Python wird einmalig im Browser geladen (ein paar Sekunden). Danach laufen alle Übungen sofort.
Musterlösung anzeigen
import random
geheimzahl = random.randint(1, 100)
versuche = 0
gewonnen = False
while versuche < 7:
tipp = int(input("Dein Tipp: "))
versuche = versuche + 1
if tipp < geheimzahl:
print("Zu klein!")
elif tipp > geheimzahl:
print("Zu gross!")
else:
print(f"Treffer nach {versuche} Versuchen!")
gewonnen = True
break
if not gewonnen:
print(f"Verloren! Die Zahl war {geheimzahl}.")Gib dem Spieler am Ende eine Bewertung: bis 5 Versuche „Stark!“, bis 8 „Solide.“, ab 9 „Da geht noch was.“ Du brauchst nur ein if/elif/else nach dem Treffer.
Musterlösung anzeigen
# Nach dem "Treffer"-print, vor dem break:
if versuche <= 5:
print("Stark!")
elif versuche <= 8:
print("Solide.")
else:
print("Da geht noch was.")