在Linux系统里用python计算1-500的和的几种方法

方法一、普通方法

1、while循环

在终端输入vim sum.py新建一个python项目

输入代码

sum = 0 #定义sum
n = 500 #定义n
while n > 0:
    sum = sum + n
    n = n-1 #当n>0的时候,sum一直做加法运算,从500加到1,即实现了1到500的累加
print(sum)

保存退出vim,输入python sum.py运行,得到结果125250

4d19305a270e42a1b058598827d6c7fa.png

 2、for循环

还是用上面创建的那个项目

输入代码

sum = 0 #定义sum
for i in range(0,501): #定义i的取值范围是(0,501)区间
    sum = sum + i # sum的值为i在取值范围内的和
print(sum)

保存退出vim,输入python sum.py运行,得到结果125250

4a0ade2eb799438cb54202583302a7bb.png

方法二、高斯求和

print((1+500)*500/2) # 高斯公式

 c1261c4bccb2449e95c197786546cfe4.png

方法三、编写一个函数

1、for循环函数

代码如下

def wyy(n): # 定义一个函数,变量为n
    sum = 0; # 定义一个对象作为最终求和的保存对象
    for i in range(1,n+1): # 定义一个对象为i,范围是1到n+1
        sum+ = i #sum的值为i取值范围所有数的和,即累加
    return sum

s = wyy(500) #使用函数,令变量为500
print(s) 

 保存退出vim,输入python sum.py运行,得到结果125250

7ffb55a46a414f43a076bd0173bfa059.png

2、高斯求和函数

代码如下

def wyy(x,n): # 定义一个函数,变量为x和n
    sum = 0; # 定义一个对象作为最终求和的保存对象
    for i in range(x,n): # 定义一个对象i,范围是x到n
        sum = (x+n)*(n+1-x)/2 # sum的值为首项x加末项n乘项数除以二,即高斯求和公式
    return sum

s = wyy(1,500) #使用函数,令变量为1和500
print(s) 

 保存退出vim,输入python sum.py运行,得到结果125250.0

6cda8a83a69a404f9cc3ef36f80ae2b6.png

搞定

疑问:为什么while方法和for循环得到的答案都不含小数而高斯公式算出来的含有小数

方法四、使用内置函数

# Author:Wyy
# -*- coding = utf-8 -*-
# @Time :2022/9/4 
# @Author:WYY
# @Site :
# @File :内置函数计算1-500和.py
# @Software: PyCharm
print("1-500的和为:",sum([i for i in range(1,501)]))

结果:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝士煜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值