Python 如何使递归函数返回所有可能的解?

Python 如何使递归函数返回所有可能的解?,python,recursion,Python,Recursion,对于此递归函数,当您输入[2,8,3,2,7,2,2,2,3,2,1,3,0]等列表时,它将找到从第一个索引到包含值0的索引的路径,但只能按索引[i]+i或索引[i]-i在列表中移动,并且不能超过列表的边界或转到已访问的索引。因此,如果索引[0]等于2,则只能在列表中向前移动2。或者,如果您位于索引[3],则只能在列表中向前或向后移动2,这样您就可以转到索引[1]或索引[5] 对于列表[2,8,3,2,7,2,2,3,2,1,3,0],我得到的解是[0,2,5,7,4,11],但是还有更多的解,

对于此递归函数,当您输入[2,8,3,2,7,2,2,2,3,2,1,3,0]等列表时,它将找到从第一个索引到包含值0的索引的路径,但只能按索引[i]+i或索引[i]-i在列表中移动,并且不能超过列表的边界或转到已访问的索引。因此,如果索引[0]等于2,则只能在列表中向前移动2。或者,如果您位于索引[3],则只能在列表中向前或向后移动2,这样您就可以转到索引[1]或索引[5]


对于列表[2,8,3,2,7,2,2,3,2,1,3,0],我得到的解是[0,2,5,7,4,11],但是还有更多的解,比如[0,2,5,3,1,9,10,7,4,11],我不知道如何让我的函数继续搜索所有其他解。

传入一个空列表,开始继续传递。为找到的解决方案添加解决方案。

欢迎使用SO。我建议你阅读“帮助”部分,了解如何提出一个好问题并发表一篇好文章。除此之外,通常很重要的一点是要包括你迄今为止所做的尝试。我们在这里更多的是帮助解决一些特定的问题,比如“我尝试了X,但它没有达到我预期的效果,反而导致了一个错误!”以及一个。。虽然可能会有一些代码只是为了帮助读者理解一个理论或帮助识别一个错误@dfundako我添加了一个具体的例子和更多的信息,我希望你能再次打开我的问题并给出一些建议。@ti7我添加了一个具体的例子和更多的信息,我希望你能再次打开我的问题并给出一些建议。这种形式的东西很可能是他们正在寻找的;这样的事情也能从集合中受益(可能在所有递归生成的值都是集合的成员时结束)我添加了一个具体的例子,希望这能帮助解决我的问题。发布你的函数