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))
上一篇下一篇

猜你喜欢

热点阅读