有人可以帮我理解这段Python代码吗?为什么这个程序不只执行 True 语句?

问题描述 投票:0回答:1

我是Python编程的初学者。这是关于 if 条件的。我想编写一个启动汽车引擎的简单程序(只是一个虚构的程序)。然后我写了下面的代码。

根据程序,当我第一次输入start时,它会运行True语句Carstarted。然后,当我第二次输入start时,它会运行False语句Car已经启动。然后程序停在断点处。我的问题是我想了解这段代码是如何执行的。

因为根据我的理解,当我第一次和第二次输入时,程序应该只运行True语句(汽车启动)。但是当我第一次输入时,程序运行 True 语句(汽车已启动),然后当我第二次输入时,程序运行 False 语句(汽车已启动)。然后它打破了 while 循环。那么,为什么程序两次都不运行 True 语句呢?我想理解这段代码。

command = ''
started = False
while True:
    command = input('> ').lower()
    if command == 'start':
        if started:
            print('Car already started')
            break
        else:
            started = True
            print('Car started')

我试图理解这段代码。

python python-3.x if-statement while-loop do-while
1个回答
0
投票

在程序的第一部分,你运行

started = False

所以,第一个输入,它将运行“else”语句,因为“started”不等于True。在“else”语句中,您将其设置为“started”现在为“True”。因此,第二个输入将运行“if”语句而不是“else”语句,因为“if”语句返回“True”。

© www.soinside.com 2019 - 2024. All rights reserved.