在猜谜游戏中陷入了一段时间的循环



所以我不得不做一个猜谜游戏,让某人输入一个数字,然后其他人必须猜测这个数字,直到他们猜对为止。我们还必须说明它进行了多少次尝试。到目前为止,这是我的代码,但我陷入了一段时间的循环,我不知道如何退出。感谢您的帮助。我们也不允许使用退货,所以我被卡住了。应该我可能用for循环代替?

initial = int(input("Enter the integer for the player to guess. "))
guess = int(input("Enter your guess. "))
tries = 0
while initial != guess:
tries = tries + 1
if initial < guess:
print("Too high - try again: ")
elif initial > guess:
print("Too low - try again: ")
print("You guessed it in", tries,".")

您的问题是您没有在循环的主体中接受输入,因此输入实际上不会改变。对此的修复非常简单:

initial = int(input("Enter the integer for the player to guess. "))
guess = int(input("Enter your guess. "))
tries = 0
while initial != guess:
tries = tries + 1
if initial < guess:
guess = int(input("Too high - try again: ")
else:
guess = int(input("Too low - try again: ")
print("You guessed it in", tries,".")

我在这里所做的只是用输入和转换代码替换您对print的调用。我还用else替换了elif,因为while循环已经检查了值是否相等,而if检查了初始值是否小于猜测,所以剩下的唯一可能性是初始值大于猜测。

顺便说一句,您可能应该进行输入验证,因为没有什么可以阻止用户输入无法转换为整数的内容。

最新更新