Mein Programm soll den Benutzer bitten, eine Zahl zwischen 0 und 100 zu erraten, aber ich kann nicht scheinen, um die Ausgabe richtig zu bekommen. Wenn die Benutzernummer größer als die Zufallszahl ist, wird im Moment eine unendliche Anzahl von "Ihre Nummer ist zu hoch" ausgedruckt. Auch wenn die erste UserGuess niedrig ist, haben alle folgenden Nummern dieselbe Eingabeaufforderung: "Ihre Nummer ist zu niedrig", obwohl sie tatsächlich größer als die Zufallszahl sind. Ich habe keine Ahnung, was ich falsch mache. Jede Hilfe würde sehr geschätzt werden. Vielen Dank!Erraten Zufallszahl Spiel Python
from random import randint
def main():
guessesTaken = 0
randomNumber = randint(0,100)
#print(randomNumber)
giveUp = -1
UserGuess = int(input("Take a guess" + "(The random number is: " + str(randomNumber) + "): "))
while UserGuess != randomNumber:
guessesTaken += 1
if UserGuess < randomNumber:
UserGuess = int(input("Your guess is too high.Try again: "))
elif UserGuess > randomNumber:
UserGuess = int(input("Your guess is too high.Try again: "))
elif UserGuess == randomNumber or UserGuess == giveUp:
break
if UserGuess == randomNumber:
guessesTaken = str(guessesTaken)
print("Yes, that is right!")
print("It took you " + guessesTaken + " guesses")
if UserGuess == giveUp:
guessesTaken = str(guessesTaken)
randomNumber = str(randomNumber)
print("Better luck next time.")
print("You tried"+ guessesTaken + " guesses")
return
print (main())
if __name__ == "__main__":
main()
Sie haben eine Reihe zur Eingabe der Benutzer wieder fragen, ob er nicht erraten richtig (in der while-Schleife) – alexpeits
BTW, fixieren Sie bitte Ihren Einzug. – TurtleIzzy