python实现1-100的累加的多种方法

1.用for循环

one = 0
for i in range(1,101):
	one = one+i
print(one)

2.用sum()函数

two = sum(range(101))
print(two)

3.用while循环

three = 0
i = 1
while i < 101:
    three = three+i
    i+=1
print(three)

4.用reduce函数,reduce()的作用是接受一个函数和一个可迭代序列,在每次迭代中,当前元素和前一个元素的输出都传递给函数,函数最后返回一个值。
lambda函数接受两个参数,并返回两个元素的累加。

from functools import reduce
four = reduce(lambda a,b:a+b,range(1,101))
print(four)

我马上就有疑问了?
reduce只是不断相加相邻的两个元素,为什么到最后会返回一个数呢,事实上reduce的工作过程是这样的:迭代序列的过程中,首先把 前两个元素(只能两个)传给 函数,函数加工后,然后把 得到的结果和第三个元素 作为两个参数传给函数参数, 函数加工后得到的结果又和第四个元素 作为两个参数传给函数参数,依次类推

或者也可以这样理解:对前两个元素操作后返回一个值和剩下的元素继续组成列表,插入列表头部,然后再从列表中取出前两个元素,循环往复,直到列表为空,返回最后的值(当然实际情况应该不是这样的)
例如1-5的相加:((((1+2)+3)+4)+5)

  • 29
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值