python如何在多次递归找到答案后停止接下去的递归

def foo(a):
    if 得到了结果:
        结束递归
        显示
    if 错误:
        return
    else:
        for each in *****:
            foo(each)

这是我大概的思路,试过用exit()虽然停了但会报错

阅读 10.2k
5 个回答

显示后return 一个特殊值 然后检查foo的返回变量 如果是那个特殊值直接基于return 那个值

太模糊的问题,上代码才有得分析。

递归需要出口条件,也就是你说的停止。。

一般情况在递归内部需要一个分支判断,如:

def fab(n):
  if n<2:
    return 1
  else
    return fab(n-1)+fab(n-2)

递归一定次数以后达到上面的if条件,递归就结束了。

显示后加个return就行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏