Python 海龟提示

问题描述

我正在开发一个海龟赛跑游戏,我想要一个提示,询问用户他希望看到多少只海龟赛跑。

    num_turtles = 0
    while 2 > num_turtles > 10:
        num_turtles = int(screen.textinput(title="How many racers...",prompt="How many turtles do you want to participate? (2-10)").lower())

问题是从未进入循环。我希望游戏在输入的数字不在 2 到 10 之间时继续询问。

解决方法

2 > num_turtles > 10 等于 2 > num_turtles and num_turtles > 10。要表达“输入的数字不在 2 和 10 之间”,请尝试使用 not (2 < num_turtles < 10)

,

您最初没有足够的海龟。

您的代码的逻辑是“如果海龟多于两只而少于十只,则循环直到它为假。”如果开始时条件不为真,则循环不会开始,这里就是这种情况。您正在寻找类似 C 的 do-while 循环的东西,不幸的是,Python 中不存在这种东西。

要解决您的问题,请将 num_turtles 设置为 3。

此外,当我在做这件事时,您的循环逻辑代码会出现错误行为。以您目前拥有的方式,您必须拥有 两只以上的海龟。您可能需要考虑将第一个 > 替换为 >=