Моя программа должна попросить пользователя угадать число от 0 до 100, но я не могу получить выход правильно. В настоящий момент, если номер пользователя больше случайного числа, он выводит бесконечное количество «Ваш номер слишком высок». Кроме того, если первый UserGuess низкий, то все следующие номера будут иметь одно и то же приглашение: («Ваш номер слишком низок»), несмотря на то, что они на самом деле больше случайного числа. Я понятия не имею, что я делаю неправильно. Любая помощь будет принята с благодарностью. Спасибо!Угадайте случайное число игра 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()
Вы должны попросить пользователя еще раз ввести номер, если он не догадывался правильно (внутри цикла while) – alexpeits
Кстати, исправьте свой отступ, пожалуйста. – TurtleIzzy