Python 遞歸函數 詳解

原文:https://www.cnblogs.com/Fantinai/p/7806356.html

在函數內調用當前函數本身的函數就是遞歸函數

下面是一個遞歸函數的實例:

Python 遞歸函數 詳解

    第一次接觸遞歸函數的人,都會被它調用本身而搞得暈頭轉向,而且看上面的函數調用,得到的結果會是:
            3
            2
            1
            0

    爲什麼會得出上面的結果呢?因爲都把調用函數本身之後的代碼給忘記了,就是else之後的python 代碼。

    實際此遞歸函數輸出的是以下結果:
            0
            1
            2
            3

   相信大家看到這裏都有點蒙,小編也一樣,我第一次看到這個遞歸函數時,只能理解到第一個結果。那是因爲,大部分人在做事情的時候,中斷第一件事,被安排去做第二件事的時候,就會把第一件事後續的事情給忘記,如果在做第二件事的時候,又被中斷,被安排去做第三件事,就會把第一件、第二件要做的後續的事情給忘記......,這就是不理解遞歸函數的原因。

   下面我把此遞歸函數做了一個分解,希望能夠幫到大家。 

   詳解遞歸函數,當調用遞歸函數digui(3)時,執行過程如下:

Python 遞歸函數 詳解

     在調用函數本身時,它之後的代碼並沒有結束,而是在等待條件爲False 時,再接着執行之後的代碼,同一個顏色的print()語句等待對應顏色的函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章