Also ich bin ziemlich neu in Python und es scheint ein Problem mit meiner while-Schleife oder dem booleschen Gewinnwert zu sein, es fragt nach einer anderen Zahl auch nach i habe gewonnen. Es gibt auch ein Problem mit meiner Lebensvariablen, denn wenn ich eine falsche Antwort bekomme, kommt ein Fehler auf; "UnboundLocalError: lokale Variable 'lebt' referenziert vor Zuweisung" ps. die ‚zufällig‘ Zahl ist immer 45, so kann ich leicht lives variable pic while loop problem pic Import Zufall ImportzeitPython 3.5 - Number Picker Spiel, while loop & variables (Anfänger)
def compare():
if guess == rand_num:
print("You guessed correct!")
win = True
elif guess > rand_num:
print ("Guess lower!")
lives = lives - 1
else:
print ("Guess higher!")
lives = lives - 1
win = False
rand_num = 45
lives = 10
while lives > 0:
if win == False:
guess = int(input("Guess a number!"))
compare()
time.sleep(3)
print("Well done!")
Funktionen sollten eine Trennung von Interesse haben. Ihre Vergleichs-Methode ist eigentlich compareAndPrintAdjustLivesAndSetWinCondition(). Erwäge, einen Vergleich zu schreiben, der -1, 0, 1 zurückgibt. Basierend darauf, wer auch immer es genannt hat, drucke und passe die Leben an. Keine Globals mehr, Trennung von Sorgen, saubererer Code. – Halsafar
Sie sollten immer die Fehlermeldung in Ihrer Frage angeben. – Matthew