簡體   English   中英

如何從python中的列表求和?

[英]How to sum numbers from list(s) in python?

學習了兩天的Python :),現在我試圖解決Euler項目問題​​2 ,我需要幫助。

更具體地說,我需要知道如何添加添加到空列表中的數字。 我嘗試了“求和”,但似乎對教程網站的建議不起作用。 我正在使用python3。到目前為止,這是我的代碼:

a = 0
b = 1
n = a+b
while (n < 20):
   a, b = b, a + b
   n = a+b
   if n%2 == 0:
       mylist = []
       mylist.append(n)
       print(sum(mylist))

這個輸出:

2
8

現在如何添加它們? 謝謝 :)

您做對了(列表的總和),主要問題在於以下語句:

mylist = []

while循環之前將其移動。 否則,您將在循環中每次創建一個新的empy mylist

另外,您可能希望在完成循環打印列表的總和。

也就是說,

...
mylist = []
while (n < 20):
   a, b = b, a + b
   n = a+b
   if n%2 == 0:
       mylist.append(n)

print(sum(mylist))

您將在向其添加數字之前創建一個新的空列表,因此,您將只有一個元素列表。 開始之前,請先創建一個空的mylist。

由於似乎您已經解決了列表問題,所以我建議您使用一種替代列表的方法。

嘗試使用整數對象而不是列表的以下解決方案:

f = 0
n = 1
r = 0

s = 0

while (n < 4000000):
    r = f + n
    f = n
    n = r
    if n % 2 == 0:
        s += n

print(s)

就像@Ned和@Levon指出的那樣。

a = 0
b = 1
n = a+b
mylist = []
while (n < 20):
   a, b = b, a + b
   n = a+b
   if n%2 == 0:
       mylist.append(n)
print(sum(mylist))

暫無
暫無

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

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