我在玩循环之类的游戏,同时尝试自己学习python。我找到了一个古老的练习来制作猜谜游戏,所以我正在尝试。
hidden = random.randrange(1, 100)
print(hidden)
guess = int(input("Please enter your guess: "))
for guess in hidden:
if guess == hidden:
print("That\'s it!\n\n Congrats !") + quit()
elif guess < hidden:
print("Too low :(")
else:
print("Too high!")
但是我一直在收到TypeError:'int'对象是不可迭代的。有什么建议么?我见过类似的问题,但没有答案,我很理解。我希望能尽可能多地理解,因此欢迎进行深入的解释。
答案 0 :(得分:1)
我将尝试在您的代码中介绍一些问题,然后提出替代方案:
for guess in hidden
:这有两个问题:首先,您要覆盖guess
变量,该变量只是用来获取用户输入的。其次,您正在尝试遍历hidden
的数字rand
。数字不能迭代,只能迭代“可迭代”(列表,集合,字典等)。
print("That\'s it!\n\n Congrats !") + quit()
我在这里猜测您是在指的是+
运算符,例如C中的;
。一种连接命令的方式。好吧,它在Python中不起作用。每个命令都在自己的行中。
最后,您可能想要类似的东西:
hidden = random.randrange(1, 100)
print(hidden)
guess = int(input("Please enter your guess: "))
while guess != hidden:
if guess < hidden:
print("Too low :(")
else:
print("Too high!")
guess = int(input("Please try again: "))
print("That\'s it!\n\n Congrats !")
在这里,我们正在进行用户的首次猜测。然后,while
不等于hidden
号,我们将在提示用户的同时继续询问用户其他输入。然后,当他最终按下数字时,循环将退出(因为现在条件失败了),并且将显示成功消息,并且程序将终止。