如何在python中列出列表中的数字?

时间:2012-07-15 03:27:50

标签: python python-3.x

学习python两天:)现在我尝试解决Project Euler problem #2,我需要帮助。

更具体地说,我需要知道如何添加添加到空列表中的数字。我试过'sum',但似乎并不适合教程网站的建议。我正在使用python 3.到目前为止,这是我的代码:

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

现在我该如何添加它们?谢谢:))

4 个答案:

答案 0 :(得分:4)

你做得对(列表的总和),主要问题在于这句话:

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))

答案 1 :(得分:2)

您在向其追加数字之前创建一个新的空列表,因此您将只拥有一个单元素列表。在开始之前创建一个空的mylist。

答案 2 :(得分:1)

由于您似乎已经解决了列表问题,我建议使用列表替代。

尝试以下使用整数对象而不是列表的解决方案:

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)

答案 3 :(得分:0)

就像@Ned&amp; @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))