一.第一种方法 (一般方法)
while循环或for循环
while循环代码如下:
#!/usr/bin/python3
i = 1
sum = 0
while i <= 500:
sum = sum + i
i = i + 1
print(sum)
while循环结果如下:
for循环代码如下:
#!/usr/bin/python3
sum = 0 # 定义一个和sum
for i in range(0, 501): # for循环,使用range,从0到501
sum = i + sum # 和的总值等于递增的i加上之前的总和
i = i + 1 # i的数值递增
print(sum)
for循环结果如下:
二.第二种方法(高斯求和)
代码如下:
#!/usr/bin/python3
print((1+500)*500/2) # 直接用高斯公式(首项加末项乘个数除以2)进行求和打印出来即可
结果如下:
三.第三种方法(用函数进行编写)
代码如下:
#!/usr/bin/python3
def fun(i): # 首先定义一个变量为i的函数
sum = 0; # 定义一个和sum
for i in range(1,i+1): # for循环从1到i+1
sum = sum + i # 总和等于之前的和加上递增的i
return sum #函数的返回值
a = fun(500) # 调用函数,并赋值给a
print(a) # 将a的值打印出来
结果如下:
四.第四种方法(使用python内置函数)
代码如下:
#!/usr/bin/python3
from functools import reduce
# 引入functools工具中的reduce方法
def fun(a, b):
# 定义一个fun函数,并设置两个参数a和b。
return a + b # 返回函数值
sum = reduce(fun,range(1, 501))
# 定义sum等于reduce方法计算(从1加到500)之后的值
print(sum)
结果如下:
五.第五种方法(使用装饰器复用函数计算从1-n任意整数的值)
代码如下:
#!/usr/bin/python3
# 定义两个全局的变量
a = 0
count = 0
def wapper(fun):
def innner(*args, **kwargs):
global count
n = int(input("请输入正整数n:")) # 输入一个整数
while count < n: # 此处为复用,n为多少就循环多少次
count += 1
sum = fun(*args, **kwargs) # 调用fun()函数
if count == n: # 输出总结果
print(sum)
return innner
@wapper
def fun(): # 此处的函数为第一个函数中定义的函数
global a
a += count
return a
fun()
结果如下: