我正在构建一个乌龟比赛游戏,我希望有一个提示,询问用户他希望看到多少乌龟比赛。
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之间时,我希望游戏继续询问。
发布于 2021-06-11 20:50:30
2 > num_turtles > 10
等同于2 > num_turtles and num_turtles > 10
。要表达“输入的数字不在2和10之间”,请尝试not (2 < num_turtles < 10)
。
发布于 2021-06-11 20:53:43
最初你没有足够的海龟。
你的代码的逻辑是“假设有两个以上的海龟,少于十个,循环直到它是假的。”如果条件一开始就不是true,那么循环就不会开始,这里就是这种情况。您正在寻找类似于C的do-while循环的东西,不幸的是,Python中并不存在这种循环。
要解决您的问题,请将num_turtles
设置为3。
另外,当我这样做的时候,你的循环逻辑代码会有buggy的行为。以你目前的方式,你必须有两只以上的乌龟。您可能希望考虑用>=
替换第一个>
。
https://stackoverflow.com/questions/67937268
复制相似问题