【发布时间】:2021-12-25 09:37:04
【问题描述】:
这里是新手。我正在尝试应用我迄今为止在 Python 中学到的知识,以更好地理解迄今为止的工作方式。我正在将某人的数字猜谜游戏与 freecodecamp 的猜谜游戏结合起来。当达到“猜测限制”时,我输得正确。但是,当数字输入正确时,用户仍然“输”。
例如在下面的代码中,我用 x = 5 调用函数,当我“猜测”为 5 时,当我希望它是“else”操作时,我仍然会收到“if limit”操作。
我尝试了几种变体,看看是否能弄明白,但无济于事。任何支持将不胜感激。如果有可以指导我的链接或文章,那就太好了。
def numguess(x):
number = x
guess = 0
guess_count = 1
guess_limit = 5
limit = False
while guess != number and not(limit):
guess = int(input("\nGuess the number: "))
if guess < number and guess_count <= 4:
print("too low")
guess_count += 1
elif guess > number and guess_count <= 4:
print("too high")
guess_count += 1
else:
limit = True
if limit:
print("you lose")
else:
print("you win")
numguess(5)
【问题讨论】:
-
当guess 等于数字时,else
limit = True就完成了....所以你会收到“你输了”的消息是非常合乎逻辑的。你应该只在以下情况下将limit 设置为True guess_count >=guess_limit -
还有为什么
and guess_count <= 4:??那不应该是:and guess_count < guess_limit:吗?
标签: python if-statement while-loop