1.一般方法(while循环)
sum = 0
i = 1
while i <= 500:
sum = sum + i
i = i + 1
print("从1加到500的值为:", sum)
运行截图:
一般方法(for循环)
sum = 0
for i in range(1, 501):
sum += i
print("从1加到500的值为:", sum)
运行截图:
2.高斯求和
x = (1 + 500) * 250
print("从1加到500的值为:", x)
运行截图:
3.使用自编函数
(1)自编函数sum1,使用while循环
def sum1():
sum = 0
i = 1
while i <= 500:
sum = sum + i
i += 1
return sum
print("从1加到500的值为:", sum1())
运行截图:
(1)自编函数sum2,使用for循环
def sum2():
sum = 0
for n in range(1, 501):
sum = sum + n
return sum
print("从1加到500的值为:", sum2())
运行截图:
4.使用python内置函数sum、range函数
print("从1加到500的值为:", sum(range(1, 501)))
运行截图:
5.使用装饰器复用函数实现任意的1+.......+n的求和:
def sum7(func):
def sum0(n):
r = func(n)
a = 0
b = 0
while b < n:
b += 1
a += b
print(a)
return r
return sum0
@sum7
def num7(n):
return n
num7(500)
运行截图:
def sum8(func):
def sum0(n):
r = func(n)
a = 0
for b in range(n):
a += b
print("从1加到您输入的n的和的值为:", a)
return r
return sum0
@sum8
def num8(n):
return n
num8(501)
运行截图:
def sum9(func):
def sum0(n):
r = func(n)
a = (1 + n) * (n / 2)
print("从1加到您输入的n的和的值为:", int(a))
return r
return sum0
@sum9
def num9(n):
return n
num9(500)
运行截图: