python编程计算1+(1+2)+(1+2+3)_python计算1+2+……+1000的3种方法

Python计算数列和很方便,至少有3种方法都是可行的,下面逐一介绍。

工具/原料

python

anaconda,spyder

方法/步骤

1

第一种方法就是用for循环。

s初始值赋值为0

其中range(1001)是一个列表[0,1,2,3,……,1000],

in是用作判断i是否在列表中,如果在,那么就循环执行s=s+i,直到列表全部遍历结束。如图所示:

9a8fd9f88a775dddc34a37f9a427e7ef2806f959.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

第二种方法直接使用sum函数。

sum(range(1001)):使用sum对列表求和即可,如图所示:

a9338a1fbee434daae589890f271fe1d96d8e459.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

第三种方法使用while循环。

首先是对s,i进行初始赋值;接着while条件是判断i是否小于1000(语句块中有i=i+1所以当i=999时,i+=1运算后i就是1000了);在循环的语句块中,先对i加1处理(自增),然后s=s+i(累计求和)

最后s即为所求的结果

983aa5f4da5872dab04fb3bc0056ad042e68d459.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

第四种方法是使用reduce函数。

其实这个是函数式编程。

在python3中需要加载一下reduce函数:

from functools import reduce ;

reduce(lambda x,y:x+y,range(1,1001));

如图

8a17b3042e6817e925e7dc4bd356d53da824ce59.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

第五种方法是使用数学math库。math库的fsum函数可以求一个列表的和。import math as m;

m.fsum(range(1001));

如图

18aebc5f0c14c27b5984543a2a46b7b1eef9395e.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

注意事项

python区分大小写,而且python使用缩进进行语句块分隔的

while中条件是1000,并不是1001,一定要注意

for和while循环后都有一个冒号,千万不能少了,否则报错

range(1001)也可以用numpy.arange(1001)代替

函数式编程也可以实现同样的效果,速度可能更快

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值