Python 通过全局函数调用嵌套函数?

Python 通过全局函数调用嵌套函数?,python,function,nested,Python,Function,Nested,我是Python新手,正在尝试制作一个包含几个章节的简单游戏。我希望您能够根据章节做不同的事情,但始终能够检查您的库存。这就是我尝试使用嵌套函数的原因 是否有可能创建一个全局函数,该函数根据我所处的章节而有所不同,同时在所有章节中仍有某些选项可用,或者我是否应该显著地重新构造代码 我得到以下错误代码: 我使用了Mateen Ulhaq建议的类并解决了它。非常感谢。这是一个用于游戏的可伸缩系统的示例 (我是Python新手,这可能不是最好的方法,但我现在就是这样解决的。) 首先为什么要使用嵌套函数

我是Python新手,正在尝试制作一个包含几个章节的简单游戏。我希望您能够根据章节做不同的事情,但始终能够检查您的库存。这就是我尝试使用嵌套函数的原因

是否有可能创建一个全局函数,该函数根据我所处的章节而有所不同,同时在所有章节中仍有某些选项可用,或者我是否应该显著地重新构造代码

我得到以下错误代码:


我使用了Mateen Ulhaq建议的类并解决了它。非常感谢。这是一个用于游戏的可伸缩系统的示例

(我是Python新手,这可能不是最好的方法,但我现在就是这样解决的。)


首先为什么要使用嵌套函数来实现这一点?另外,请共享整个错误消息。名称查找发生在定义函数的范围内,而不是调用函数的范围内。嵌套函数不是大多数人组织此类功能的方式。通常,这些方法是:1。包含实际故事内容的外部数据文件(如JSON、XML等);代码只处理游戏逻辑,而不是故事。2.分班<代码>第1章=第()章;第1章localoptions()3。单独的文件/模块
chapter1.localoptions()
.Typo在我上面的评论中,应该是这样的:另外,请分享整个错误消息。
> Traceback (most recent call last):   File "test.py", line 21, in
> <module>
>     chapter1()   File "test.py", line 19, in chapter1
>     standstill()   File "test.py", line 4, in standstill
>     localoptions() NameError: name 'localoptions' is not defined
def standstill():
    print("What now?")
    print("Press A to check inventory")
    localoptions()
    choice = input()
    if choice == "A":
        print("You have some stuff.")
    else:
        localanswers()

def chapter1():
    def localoptions():
        print("Press B to pick a flower.")

    def localanswers():
        if choice == "B":
            print("What a nice flower!")

    standstill()

chapter1()
class chapter1:
    option_b = "Pick a flower."

def standstill():
    print("What do you do now?")
    print("A: Check inventory.")
    if chapter1active == True:
        print("B: " + chapter1.option_b)

#Chapter 1
chapter1active = True
standstill()
chapter1active = False