通常实现一个列表的所有数求和,我们很容易想到通过一个循环语句就能实现,如下:
def listsum(numlist):
theSum = 0
for i in numlist:
theSum = theSum + i
return theSum
但如果通过递归怎么写呢?
def listsum(numlist):
if len(numlist) == 1:
return numlist[0]
else:
return numlist[0] + listsum(numlist[1:]) #递归
return theSum
当列表为[1,3,5,7,9],递归的实现逻辑如下图所示:
递归实现数列求和
网友评论