python求1到100的和的几种方法
2019-05-15 本文已影响0人
夏洛伊de风
我自己写的,while循环
i = a = 0
while i < 100:
i = i + 1;
a = a + i;
print(a)
网上方法一,for循环
a = 0
for i in range(0,100):
a += (i+1);
print(a)
网上方法二,sum函数
print(sum(range(1,101)))
网上方法三,sum函数加列表生成式
print(sum([x for x in range(1,101)]))
网上方法四,使用reduce函数
注意:在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,
如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数。
from functools import reduce
print(reduce(lambda a,b:a+b ,range(1,101)))
上面匿名函数也可以写具体函数:
def add(x,y):
return x + y
print(reduce(add,range(1,101)))
网上方法五,递归算法
def sumFun(max):
if max <=100 and max >= 0:
return max+ sumFun(int(max) - 1)
else:
return 0
print(sumFun(100))