名称错误:未定义全局名称“stealth”

2024-09-25 00:34:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程很陌生(如果我没有正确地提出这个问题,我很抱歉)。 这是LPTHW练习36:

我的错误:

Traceback (most recent call last):
  File "ex36.py", line 329, in <module>
    start()
  File "ex36.py", line 149, in start
    arena()
  File "ex36.py", line 161, in arena
    if stealth == True:
NameError: global name 'stealth' is not defined

我的假设是: 我原以为在前面的函数start()中定义了“隐身”,但这个定义没有传到arena()中。我该如何解决它,为什么“隐身”从一个功能转移到另一个功能?在

我的代码(正在进行基于文本的游戏):

^{pr2}$

非常感谢所有的建议。谢谢你的帮助。在


Tags: inpy功能定义编程错误linestart
1条回答
网友
1楼 · 发布于 2024-09-25 00:34:20

在一个函数中局部定义的变量具有局部作用域,在另一个不相交函数中不能自动访问。当从start调用时,您可能需要考虑将stealth传递给arena,然后{}将被定义为arena的参数,即

def arena(stealth):

相关问题 更多 >