【发布时间】:2016-10-26 15:35:33
【问题描述】:
我的程序应该要求用户猜测 0 到 100 之间的数字,但我似乎无法正确输出。此时如果用户数大于随机数,则打印出无限量的“你的数太高”。此外,如果第一个 UserGuess 较低,则以下所有数字都会有相同的提示:(“您的数字太低”)尽管它们实际上大于随机数。我不知道我做错了什么。任何帮助将不胜感激。谢谢!
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循环内),你必须再次要求用户输入一个数字
-
顺便说一句,请修正你的缩进。