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