【遞歸調用】

什麼是遞歸調用?

def a():
    print('111')
    a()


a()

簡單的來說就是調用自身的函數,有點類似循環。

 

比如說計算1+2+3+4+...的和

 

def he(n):
    sum1 = 0
    for s in range(1, n + 1):
        sum1 += s
    return sum1


print(he(10))

用遞歸來寫:

def he1(n):
    if n == 1:
        return 1
    else:
        return n + he1(n - 1)


print(he1(5))

 

你品,你細品!!!

5+he1(4)

he1(4) 執行:4+he1(3)

he1(3) 執行:3+he1(2)

he1(2) 執行:2+he1(1)

he1(1) 執行:1

結果是:5+4+3+2+1

太巧妙了。。。

反正我是想不出來

 

 

發佈了79 篇原創文章 · 獲贊 64 · 訪問量 8195
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章