什麼是遞歸調用?
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
太巧妙了。。。
反正我是想不出來