簡體   English   中英

如何使用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):
   a = (start+1)//2
   b = stop//2
   return (a+b) * (b-a+1)
def sum_even_num(start,stop):
    res = 0
    for i in range(start,stop+1):
         if i%2==0:
             res+=i
    return res

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM