如何使用 Python 求出一定范围内的每个偶数的总和?
How can I find the sum of every even number in a certain range using Python?
我想编写一个脚本来打印 [0, 100] 范围内每个偶数的总和。到目前为止,这就是我所拥有的。
我试过将结果放在一个列表中,这样我就可以计算该列表的总和,但我一直收到“SyntaxError:无效语法”消息。
def sum_even_num(start, stop):
for x in range(start, stop):
if (x % 2 == 0):
print(x)
sum_even_num(0, 100)
您可以使用局部变量来存储部分结果。
def sum_even_num(start, stop):
result = 0
for x in range(start, stop):
if x % 2 == 0:
result += x
return result
print(sum_even_num(0, 10))
另一种方法是使用 sum
内置函数和生成器表达式:
def sum_even_num(start, stop):
return sum(x for x in range(start, stop) if x % 2 == 0)
print(sum_even_num(0, 10))
def sum_even_num(start,stop):
res = 0
for i in range(start,stop+1):
if i%2==0:
res+=i
return res
这也有效,并且在恒定时间内:
def sum_even_num(start,stop):
a = (start+1)//2
b = stop//2
return (a+b) * (b-a+1)
我想编写一个脚本来打印 [0, 100] 范围内每个偶数的总和。到目前为止,这就是我所拥有的。
我试过将结果放在一个列表中,这样我就可以计算该列表的总和,但我一直收到“SyntaxError:无效语法”消息。
def sum_even_num(start, stop):
for x in range(start, stop):
if (x % 2 == 0):
print(x)
sum_even_num(0, 100)
您可以使用局部变量来存储部分结果。
def sum_even_num(start, stop):
result = 0
for x in range(start, stop):
if x % 2 == 0:
result += x
return result
print(sum_even_num(0, 10))
另一种方法是使用 sum
内置函数和生成器表达式:
def sum_even_num(start, stop):
return sum(x for x in range(start, stop) if x % 2 == 0)
print(sum_even_num(0, 10))
def sum_even_num(start,stop):
res = 0
for i in range(start,stop+1):
if i%2==0:
res+=i
return res
这也有效,并且在恒定时间内:
def sum_even_num(start,stop):
a = (start+1)//2
b = stop//2
return (a+b) * (b-a+1)