Python Programm (Aufgabe für die Schule)?
Hey, Ich habe jetzt seit einer knappen Stunde Probleme diese Aufgabe hier für die Schule zu lösen. Es hapert bei dem Teil mit größer bzw. kleiner. Ich bin es grundsätzlich immer so angegangen, dass ich versucht habe die erratene Zahl als neues Min. oder Max. der Liste mit den Zahlen von 1-100 zu setzen, aber es haut nicht ganz hin.
Danke im Voraus für alle Antworten !
Das wäre ein mögliches programm:
import random
min_value = 1
max_value = 100
guesses = 0
print(“Denke dir eine Zahl zwischen”, min_value, “und”, max_value, “aus.”)
input(“Drücke Enter, wenn du bereit bist…”)
while True:
# Rate eine Zahl
guess = random.randint(min_value, max_value)
response = input(“Ist ” + str(guess) + ” zu klein (k), zu groß (g) oder richtig (r)? “)
# Überprüfe die Antwort
guesses += 1
if response == “r”:
print(“Ich habe die Zahl in”, guesses, “Versuchen geraten!”)
break
elif response == “k”:
min_value = guess + 1
elif response == “g”:
max_value = guess – 1
Das Programm beginnt damit, den Benutzer aufzufordern, sich eine Zahl zwischen 1 und 100 auszudenken. Sobald der Benutzer bereit ist, wird das Programm in eine Schleife eintreten, in der es versucht, die Zahl zu erraten.
Das Programm nutzt die
-Bibliothek, um eine zufällige Zahl zu raten. Es fragt den Benutzer dann, ob die geratene Zahl zu klein, zu groß oder richtig ist. Basierend auf der Antwort des Benutzers wird der Bereich der möglichen Zahlen angepasst.
Das Programm läuft so lange, bis die Zahl geraten wurde und gibt dann aus, wie viele Versuche es gebraucht hat.
Hallo.
Dann präsentiere uns deinen Code, ich werde das Programm ganz sicher nicht vollständig für dich übernehmen.
Als Tipp: Wenn du mit 64 anfängst zu raten und das richtige System anwendest, solltest du immer in maximal 7 Versuchen fertig sein!
Ähnlich wie binärer Suchalgorithmus.
Ziemlich genau so, ja.