You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过输入将布尔值从True改为False?门脚本调试求助

问题解决办法

你的代码存在几个关键问题,导致变量修改不生效:

  • 变量被循环重置:你把doorisclosed=true放在while True循环内部,每次循环都会把变量重新设为初始值,之前的修改自然会被覆盖。要把变量初始化移到循环外面。
  • 布尔值大小写错误:Python里布尔常量是大写的True和False,小写的true/false会被当成普通变量,引发错误。
  • 语法和缩进问题:If首字母要小写if,而且语句缩进要和后续的判断保持一致,否则会触发语法错误。

修正后的代码:

# 把变量初始化移到循环外,避免每次重置
doorisclosed = True
while True:
    user_input = input("press O to open: ")
    if user_input == "O":
        # 先判断门当前状态,再修改变量
        if doorisclosed:
            print("the door has been opened!")
            doorisclosed = False
        else:
            print("you cant open an open door you donkey!")

这样修改后,门的状态会被持续保留,不会每次循环重置,输入"O"时会根据当前状态给出正确提示,同时修改变量值。

内容的提问来源于stack exchange,提问作者Zezim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 18:30:41