首頁>Club>
14
回覆列表
  • 1 # Bean蠶豆

    函式呼叫自身,我沒有理解錯的話,應該是遞迴呼叫,遞迴呼叫就是自己呼叫自己,不斷迭代的過程。

    什麼是遞迴呼叫,遞迴呼叫是函式呼叫自身的一個過程

    遞迴呼叫是一種特殊的函式呼叫,特殊在於某個函式呼叫自己或者是呼叫其他函式後再次呼叫自己,只要函式之間相互呼叫能生迴圈則一定是遞迴呼叫,遞迴呼叫是一種解決方案,一種邏輯思想。遞迴呼叫直到滿足約束條件的時候,才會停止呼叫,並返回相應的值,所以在寫的時候要注意,避免一直迴圈呼叫下去,佔用裝置資源。

    遞迴呼叫之階乘

    階乘數學公式可以表達成如下:

    n = n * (n-1) * (n-2) * ...* 1(n>0),即小於n的整數依次相乘,利用python程式碼該如何實現呢?

    這樣就可以實現整數的階乘運算,從程式碼上看,最後一步的返回值中就呼叫了自身函式,並且輸入的引數值是比原來小1.

    遞迴呼叫之求和

    相信大家都聽說過小高斯的故事,高斯在小的時候就能很快地算出1到100的資料和-5050,他的秘密在於透過觀察兩兩資料和等於100的規律,很快就得出5050的結果,這對於沒有學過等差資料求和的孩子上來,真的是厲害。我們學了程式語言,現在我們也可以用python來實現。

    程式碼上和階乘沒有太大的變化,只是變了符號。相信這個時候很多人會想,是不是絕大多數情況 下的資料計算都可以轉化成遞迴呼叫,理論上是可以的。

    python函式的自身呼叫,遞迴呼叫是我們日常中使用到的,該方法的做點是邏輯簡單清楚,一看就明白,缺點是要防止資源的浪費-呼叫太深導溢位,因此,在使用的時候要特別注意,在複雜的場景下,需要做好最佳化的準備。

  • 中秋節和大豐收的關聯?
  • 除了名山古寨,口糧茶為何價格飛天?