什么是递归调用?
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
太巧妙了。。。
反正我是想不出来