¿Como hacer la sumaroria de los elementos de una lista?; Python

Iniciado por XD YO, 4 Marzo 2010, 01:22 AM

0 Miembros y 1 Visitante están viendo este tema.

XD YO

Hola, ha sido un largo tiempo sin pasarme por aqui  ;D.

Estoy intentando resolver el problema de las sumatorias de una serie de valores que contiene una lista, pero no logro encontrar una solución, ya que lo mas que e conseguido a sido sumar los dos primeros valores y después los dos siguiente y así sucesivamente  :-\.

Es para poder resolver de una forma menos tediosa los molestos problemas de estadística   >:D

De antemano, gracias
"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal

Carloswaldo

Usa un for que recorra todos los elementos de la lista y los vas sumando en un acumulador.

¿Tienes al menos un pequeño código de haberlo intentado?

Novlucker

También hay alguno que otro truco, como el siguiente :P

Código (python) [Seleccionar]
numeros = [1,5,6,3,10,4]
print(eval('+'.join(numeros)))


Y se me ocurrió a mi solito ::)

:xD

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Carloswaldo


XD YO

 :-[ :-[
bueno, casi no e tenido tiempo...(semana de examenes); pero, bueno,  esta es la forma en que lo intento:

lista=[1,2,3,4,5,6,7,8,9,10]
for i in lista:
    suma=0
    suma += i
    print suma


Supongo que a de ser algun error aparentemente insignificante del que no me he dado cuenta. :-[

Gracias
"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal

Novlucker

El problema es que tienes la variable suma dentro del FOR, debes de crearla afuera, ya que de lo contrario la creas cada vez que pasas, y no guardas el valor de la suma

Código (python) [Seleccionar]
lista=[1,2,3,4,5,6,7,8,9,10]
suma=0
for i in lista:
suma += i
print suma


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Иōҳ

este..

la forma de hacerlo es crear un acumulador

acum = acum + suma

y lo podras poner dentro del for, sin ningun problema :)
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

Novlucker

Es lo que ha hecho :rolleyes: .. solo que hay que remarcar que dicho "acumulador" debe de crearse fuera del for, para que de este modo sea global

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Иōҳ

global te refieres a no poder usarlo fuera del for?

si es asi si se puede, solo declaramos la variable fuera del foro y lo acumula.. bueno yo lo hacia asi en java y me funcionaba perfectamente ;)

Salu2
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

Novlucker

Eso mismo, ... más que nada porque si lo pones dentro del for la declaras con cada llamada, así que nunca acumulas, por eso su problema

Estamos diciendo lo mismo :xD

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein