Python 再次播放功能在程序中不工作

Python 再次播放功能在程序中不工作,python,function,recursion,Python,Function,Recursion,我写了一个初学者程序来玩游戏。程序的主结构将各种函数嵌套在外部父函数中。关于从fnested()内部调用fparent(),我有一个问题 注:遗憾的是,我无法共享原始代码,因为这是针对大学的,并且由于学术诚信政策,我无法公开代码 该实现背后的思想是,如果用户想要重复该程序,他们应该输入一个有效的指示符,YES。这在嵌套函数中发生。程序试图识别此输入,因此再次调用fparent(),重新启动程序 这目前不起作用 我想知道是否有一种方法来编码这个特性 链接到现有的答案是最受欢迎的,因为我找不到任

我写了一个初学者程序来玩游戏。程序的主结构将各种函数嵌套在外部父函数中。关于从
fnested()
内部调用
fparent()
,我有一个问题

注:遗憾的是,我无法共享原始代码,因为这是针对大学的,并且由于学术诚信政策,我无法公开代码

该实现背后的思想是,如果用户想要重复该程序,他们应该输入一个有效的指示符,
YES
。这在嵌套函数中发生。程序试图识别此输入,因此再次调用
fparent()
,重新启动程序

这目前不起作用

  • 我想知道是否有一种方法来编码这个特性

链接到现有的答案是最受欢迎的,因为我找不到任何可以直接帮助我的东西

如果您试图直接从嵌套调用父函数,它将为您提供“堆栈溢出”达到的最大深度

正如你所说的问题:

他们应该输入一个有效的指标,是的。这在一个小时内发生 嵌套函数。该计划试图识别这种输入,从而 再次调用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()

抱歉,您的修订代码没有任何意义。如果True为false,
如何触发else?如果函数没有正确的
返回
,您将得到堆栈溢出致命错误。如果您不询问您当前的代码,那就更好了。询问你想完成的任务。我们将帮助您编写代码。