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

Python基于函数的文本游戏无输出问题求助

问题排查与修复

1. 入口判断的致命错误

你的代码最核心的问题是入口条件写错了:

if __name__ == '__main--':  # 错误:此处应为__main__,不是__main--

正确写法是用两个下划线包裹main:

if __name__ == '__main__':

这个错误会导致整个入口代码块完全不执行——Python不会进入while True循环,自然没有任何输出。

2. 字符串语法冲突

这段打印语句里的单引号会触发语法错误:

print('You suddenly awake in a dark chamber, as you look around you realize you don't know where you are nor how you got here.')

解决方法是将外层引号改为双引号,或者对内部单引号转义:

# 方案1:外层用双引号
print("You suddenly awake in a dark chamber, as you look around you realize you don't know where you are nor how you got here.")
# 方案2:转义内部单引号
print('You suddenly awake in a dark chamber, as you look around you realize you don\'t know where you are nor how you got here.')

3. F-String格式错误

这段f-string的写法不符合语法规范:

print(f 'good luck, {name}.')  # 错误:f和引号之间不能有空格

正确写法是去掉f与引号之间的空格:

print(f'good luck, {name}.')

4. 未定义变量的潜在问题(修复前序问题后会触发)

当你修复上述问题后,调用introduction()时会遇到NameError——Shane_scene_completed、Luke_scene_completed、ben_key_obtained这些变量未定义。需要在全局作用域提前初始化:

# 在入口代码前添加全局变量初始化
Shane_scene_completed = False
Luke_scene_completed = False
ben_key_obtained = False

另外,Shane_scene()、Luke_scene()、empty_scene()等被调用的函数也需要提前定义,否则同样会触发NameError。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:53:15