Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: XD YO en 4 Marzo 2010, 01:22 am



Título: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: XD YO en 4 Marzo 2010, 01:22 am
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


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Carloswaldo en 4 Marzo 2010, 04:22 am
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?


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Novlucker en 4 Marzo 2010, 05:01 am
También hay alguno que otro truco, como el siguiente :P

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

Y se me ocurrió a mi solito ::)

:xD

Saludos


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Carloswaldo en 4 Marzo 2010, 05:20 am
Eres un master xD


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: XD YO en 9 Marzo 2010, 14:54 pm
 :-[ :-[
bueno, casi no e tenido tiempo...(semana de examenes); pero, bueno,  esta es la forma en que lo intento:
Código:
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


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Novlucker en 9 Marzo 2010, 15:07 pm
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
  1. lista=[1,2,3,4,5,6,7,8,9,10]
  2. suma=0
  3. for i in lista:
  4. suma += i
  5. print suma

Saludos


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Иōҳ en 9 Marzo 2010, 18:01 pm
este..

la forma de hacerlo es crear un acumulador

acum = acum + suma

y lo podras poner dentro del for, sin ningun problema :)


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Novlucker en 9 Marzo 2010, 18:07 pm
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


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Иōҳ en 9 Marzo 2010, 18:18 pm
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


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: Novlucker en 9 Marzo 2010, 18:21 pm
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


Título: Re: ¿Como hacer la sumaroria de los elementos de una lista?; Python
Publicado por: XD YO en 10 Marzo 2010, 04:41 am
yo me perdi  XD

Ya sabia que era algún error tonto y simple, muchas gracias  ;-) ;D