Ein Ratespiel entwickeln mit while
Im folgenden Beispiel entwickeln wir ein kleines Ratespiel. Der Computer denkt sich eine Zahl zwischen 1 und 100 aus, und der Spieler muss sie erraten. Der Computer gibt dem Spieler Hinweise, ob die geratene Zahl zu hoch oder zu niedrig ist.
Pseudocode
Die Idee etwas genauer in Pseudocode gefasst:
Zufallszahl zwischen 1 und 100 ziehen
Solange die Zahl nicht erraten wurde
Eingabe abfragen
Wenn die Zahl zu hoch ist:
Hinweis geben: "Zu hoch!"
Wenn die Zahl zu niedrig ist:
Hinweis geben: "Zu niedrig!"
Hinweis geben: "Gratuliere!"
Zufallszahlen ziehen
Um eine Zufallszahl zu ziehen, verwenden wir die Funktion randint aus dem Modul random. Diese Funktion zieht eine ganze Zahl zwischen zwei Werten (inklusive der beiden Werte). Wir importieren das Modul mit dem Befehl import random.
import random
# Zufallszahl zwischen 1 und 100
zahl = random.randint(1, 100)
print(zahl)
Input abfragen
Um den Spieler nach einer Zahl zu fragen, verwenden wir die Funktion input. Diese Funktion gibt den eingegebenen Text als String zurück. Um ihn in eine Ganzzahl umzuwandeln, verwenden wir die Funktion int.
# Eingabe abfragen
eingabe = input("Gib eine Zahl zwischen 1 und 100 ein: ")
# Eingabe von Zeichenkette/String in Ganzzahl/Integer umwandeln
zahl = int(eingabe)
print(zahl)
Ihre Lösung
Erklärvideo
Mögliche Lösungimport random # Generiere eine Zufallszahl zwischen 1 und 100 geheimzahl = random.randint(1, 100) # Variablen für das Spiel initialisieren versuchsrunde = 0 geratete_zahl = -1 # Begrüssung und Spielerklärung print("Willkommen zum Zahlenratespiel!") print("Ich habe mir eine Zahl zwischen 1 und 100 ausgedacht.") # Solange die Zahl nicht erraten wurde, weiterspielen while geratete_zahl != geheimzahl: eingabe = input("Rate eine Zahl zwischen 1 und 100: ") geratete_zahl = int(eingabe) versuchsrunde += 1 # Prüfen, ob die geratene Zahl korrekt ist if geratete_zahl < geheimzahl: print("Zu niedrig! Versuch es mit einer höheren Zahl.") elif geratete_zahl > geheimzahl: print("Zu hoch! Versuch es mit einer niedrigeren Zahl.") # Wenn die Zahl erraten wurde, gratulieren print("Gratuliere! Du hast die Zahl", geheimzahl, "in", versuchsrunde, "Versuchen erraten!")