我写了一个初学者程序来玩游戏。程序的主要结构在外部父函数中嵌套各种函数。我有一个关于从fparent()
内拨打fnested()
的问题。
注意:遗憾的是,我无法分享原始代码,因为这是针对大学的,并且由于学术诚信政策,我无法公开代码。
实施背后的想法是,如果用户想要重复该程序,他们应该输入一个有效的指标YES
。这发生在嵌套函数中。该程序试图识别此输入,然后再次调用fparent()
,重新启动该程序。
目前无效。
欢迎链接到现有答案,因为我无法找到任何直接帮助我的内容。
答案 0 :(得分:0)
如果你试图直接从嵌套中调用父函数,它会给你"堆栈溢出"达到最大深度。
正如你所说的那样:
他们应该输入一个有效的指标,YES。这发生在一个 嵌套函数。该计划旨在认识到这一点 再次调用fparent(),重新启动程序。
您可以尝试这样的事情:
def f0():
def f1():
print("do some stuff in function f1")
def f2():
print("do some stuff in function f2")
def f3():
print("do some stuff with function f3")
user_input=str(input("Do you want to repeat the program Yes or No >> "))
map_userinput={"Yes":f0,"Level2":f2,"Level3":f3}
if user_input=="Yes":
print("ok calling the parent function from nested function")
map_userinput[user_input]()
elif user_input=="Level2":
map_userinput[user_input]()
else:
print("continue with this nested function")
f0()