不同阶段的求和方法(python)

普通人

1+2+3+...+n

学过数学的人

(1+n)*n/2

会调用函数的人

sum([1,2,3])

会循环的人

sum = 0
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in list:
    sum = sum + x
print(sum)

会递归的人

# 递归求和
def listSum(arr):
    if arr == []:
        return 0
    else:
        return arr[0] + sum(arr[1:])

print(listSum([1,2,3]))

会高级函数的人

# reduce函数也使用了递归原理
from functools import reduce

def add(x,y):
    return x+y
print(reduce(add,[1,2,3,4]))
发布了59 篇原创文章 · 获赞 26 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_28368377/article/details/104068952