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