【递归调用】

什么是递归调用?

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章