[英]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.