Python中布尔值如何与if语句配合使用?附汽车游戏代码案例
布尔值与if语句配合逻辑及代码运行规则说明
问题核心原因
你贴的代码默认在循环开始前已经初始化了started = False(没有这行的话首次运行会报变量未定义错误,属于你没贴全的前置代码)。
Python中if语句和布尔值配合的规则非常直接:如果if后直接接布尔变量,变量值为True时就执行if下属的代码块,值为False时就执行对应的else代码块。
输入start的逐次运行逻辑
- 程序启动后,布尔变量
started初始值为False - 第一次输入
start:外层word == 'start'判断成立,进入内层判断if started,此时started值为False,条件不成立,所以走else分支,把started赋值为True,打印car started - 第二次及之后输入
start:进入内层判断时,started已经被修改为True,所以if started条件成立,直接执行if下属代码,打印car already started,不会再进入else分支
完整可运行参考代码
# 布尔变量使用前必须先初始化 started = False while True: word = input('enter : ') if word == 'start': if started: print('car already started') else : started = True print('car started') # 可选扩展:退出逻辑 elif word == 'quit': break
内容的提问来源于stack exchange,提问作者Simo
相关产品推荐
相关产品推荐

