¿Cómo sumr números de la (s) lista (s) en python?

Aprendí python durante dos días 🙂 y ahora bash resolver el problema nº 2 del Proyecto Euler y necesito ayuda.

Para ser más específicos, necesito saber cómo agregar números que se agregaron a una lista vacía. Intenté “sumr” pero no parece funcionar como sugieren los sitios de tutoría. Estoy usando python 3. Aquí está mi código hasta ahora:

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

esto produce:

 2 8 

Ahora como los agrego? Gracias 🙂

Lo estás haciendo bien (la sum de la lista), el problema principal es con esta statement:

 mylist = [] 

muévalo antes del bucle while. De lo contrario, está creando una nueva lista de empy cada una a través del bucle.

Además, es probable que desee imprimir la sum de la lista probablemente después de que haya terminado con su bucle.

Es decir,

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

Está creando una nueva lista vacía justo antes de agregarle un número, por lo que solo tendrá una lista de un elemento. Cree el mylist vacío una vez antes de comenzar.

Como parece que tienes el problema de la lista resuelto, sugeriría una alternativa al uso de una lista.

Pruebe la siguiente solución que usa objetos enteros en lugar de listas:

 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) 

Así como lo señalaron @Ned y @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))