如何使用 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)