首页  >  问答  >  正文

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

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

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

PHP中文网PHP中文网2742 天前877

全部回复(5)我来回复

  • PHP中文网

    PHP中文网2017-04-17 15:37:28

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:37:28

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

    回复
    0
  • PHPz

    PHPz2017-04-17 15:37:28

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

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

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

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

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-17 15:37:28

    显示后加个return就行

    回复
    0
  • PHPz

    PHPz2017-04-17 15:37:28

    雷雷

    回复
    0
  • 取消回复