我正在制作一个汽车游戏。只有“开始”、“停止”、“退出”命令。无法识别任何其他命令。
command = ""
while command != "quit":
command = input("Command: ")
if command == "start":
print("Car ready to go")
elif command == "stop":
print("Car stopped")
else:
print("I don't understand that")
else:
print("Game exited")
除了“退出”之外,所有命令都可以正常工作。使用while循环,它会执行和打印else语句:
I don't understand that
Game exited
命令=“退出”应该呈现当条件False
,因此跳过前面只执行外部的其他语句。为什么它执行其他两个语句,甚至认为同时条件不满足?
Python程序逐行运行。while循环不能保证它的状态,即使整个缩进块都是如此。所以这并不等同于“一旦[条件]不满足,就跳出while块”
您的输入()
在time循环中。因此,它将首先执行直到同时循环结束,直到它到达同时循环的顶部并再次检查同时循环的条件。
一个典型的变通方法是
while True:
command = input("Command: ")
if command == "quit":
break
...
while command != "quit":
command = input("Command: ")
if command == "start":
print("Car ready to go")
elif command == "stop":
print("Car stopped")
else:
print("I don't understand that")
else:
print("Game exited")
看看你的代码,你得到输入“退出”,然后它归结为第一个如果(不正确)-
像这样更改代码:
while command != "quit":
command = input("Command: ")
if command == "start":
print("Car ready to go")
elif command == "stop":
print("Car stopped")
elif command != "quit":
print("I don't understand that")
else:
print("Game exited")
while else
的工作方式如下:如果while
条件不满足,则执行else
因此,当您在程序中键入“退出”时,如果命令==“开始”:和elif命令==“停止”:
条件不满足
因此,执行else
,打印,我不理解这一点。
现在,再次检查
循环的条件:
命令!
但是,这个条件是False
,因为命令
的值现在是退出
。
所以
else:
print("Game exited")
执行,因此您的输出成为
I don't understand that
Game exited
我正在尝试使用一个do while循环来找出用户是想将一只狗还是一只猫检查到Java的养狗系统中。其思想是,当提示时输入“dog”或“cat”,任何输入都将导致错误,并且他们将再次被提示输入文件名。 如果输入了“cat”或“dog”,那么将为程序分配等效的文件(dogs.txt或cats.txt),然后系统将运行并将数据加载到程序中。 以下是当前的变量: 以及导致问题的方法: 下面是运行代码时打印
问题内容: 我已经编写了一个包含循环的“ Hangman”游戏,不断询问用户字母,直到他们解决单词或耗尽生命。奇怪的是,在满足条件时循环不会停止。 这是包含循环的游戏逻辑的实现: 可变结果是从方法中获取返回值。这是实现。 难道是我返回导致循环不断循环的值的方式吗?我这样声明了这些值: 问题答案: 逻辑上,根据德摩根定律, 是相同的 这永远是一个真实的表达。 条件可能应该是 当应用与上述相同的法律时
我试图用Python做一个简单的计算器。 我希望用户写“and”,然后while循环应该结束。当我运行它并输入随机文本时,while循环工作并显示“重试”。然而,当我实际输入正确答案(“add”)时,while循环并没有结束——相反,它一直在说“再试一次”。 为什么会这样?我的代码怎么了?
所以我必须在eclipse中为我的类创建一个java项目。分配是创建一个程序,允许用户在程序中输入整数,直到输入某个整数(42)。输入整数(42)后,程序将为1。平均输入的所有数字。2、显示输入的最小值和最大值。3、输入的数字总数。这些必须在不计算(42)的情况下进行计算。这就是我目前所拥有的。我可以从用户那里获得输入,一旦他们输入42,程序就会停止并显示总数,但包括42。我不知道如何为输入添加一
当我像这样做一个常规的while循环时 它打印 但第二个while循环在满足条件后再次运行。 所以结果是 “佛罗多是一个很好的霍比特人的名字”难道它不应该停止印刷吗 我设置了x的条件 编辑:哦,我现在明白了,哈哈,我想增量是在代码的末尾,开始是0
我需要两种while循环的帮助。