搜尋

首頁  >  問答  >  主體

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

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

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

PHP中文网PHP中文网2807 天前913

全部回覆(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
  • 取消回覆