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