python中用递归求和

递归函数: 直接或者间接调用自身以进行循环的函数。

这里是用递归函数编写的一个定制求和函数的列子:

def mysum(l):
    print(l)
    if not l:
        return 0
    else:
        return l[0] + mysum(l[1:])


print(mysum([1, 2, 3, 4, 5]))


result:
[1, 2, 3, 4, 5]
[2, 3, 4, 5]
[3, 4, 5]
[4, 5]
[5]
[]
15

正如你看见的,在每次递归的时候,要加的列表变得越来越小,知道它为空,退出循环。

 

其实我们也可以通过循环来执行递归的方法,循环语句更加自然和简单:

l= [1, 2, 3, 4, 5]
sum = 0
while l:
    sum += l[0]
    l = l[1:]

print(sum)


result:
15

 

你可能感兴趣的:(python中用递归求和)