Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Suma de elementos de dos listas

Estas en el tema de Suma de elementos de dos listas en el foro de Python en Foros del Web. Buen dia. Estoy haciendo un programa que me sume los elementos de dos listas pero no me esta arrojando valores correctos Ejemplo: Lista1=[2,4,5] Lista2=[3,1,2] sumat=[5,5,7] ...
  #1 (permalink)  
Antiguo 16/03/2016, 13:38
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Suma de elementos de dos listas

Buen dia.
Estoy haciendo un programa que me sume los elementos de dos listas pero no me esta arrojando valores correctos

Ejemplo:
Lista1=[2,4,5]
Lista2=[3,1,2]
sumat=[5,5,7]

Código Python:
Ver original
  1. lista1=[]
  2. cant=int(input("Digite la cantidad de numeros en la lista 1: "))
  3. for i in range (0, cant):
  4.     palabra=int(input("Ingrese el numero :"))
  5.     lista1=lista1+[palabra]
  6. print "La lista 1 creada es: ", lista1
  7.  
  8. lista2=[]
  9. cant1=int(input("Digite la cantidad de numeros en la lista 2: "))
  10. for i in range (0, cant1):
  11.     palabra1=int(input("Ingrese el numero :"))
  12.     lista2=lista2+[palabra1]
  13. print "La lista 2 creada es: ", lista2
  14.  
  15.  
  16. suma=[]
  17. for i in range(len(lista1)):
  18.     for j in range(len(lista2)):
  19.         suma=lista1[i]+lista2[j]
  20.     print "La suma de las dos listas es: ",suma

Ejemplo del Resultado del código ejecutado:

Código HTML:
Ver original
  1. Digite la cantidad de numeros en la lista 1: 2
  2. Ingrese el numero :7
  3. Ingrese el numero :1
  4. La lista 1 creada es:  [7, 1]
  5. Digite la cantidad de numeros en la lista 2: 2
  6. Ingrese el numero :8
  7. Ingrese el numero :1
  8. La lista 2 creada es:  [8, 1]
  9. La suma de las dos listas es:  8
  10. La suma de las dos listas es:  2
  #2 (permalink)  
Antiguo 17/03/2016, 07:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Suma de elementos de dos listas

Pues el resultado que obtenés es perfectamente razonable, considerando que estás sobrescribiendo "suma" en cada iteración del bucle, y que estás haciendo un par de vueltas de más.
Por lo tanto, el primer valor (8) resulta del primer elemento de lista1 (7) sumado al segundo elemento de lista2 (1), y el segundo valor (2) es el segundo elemento de lista1 (1) sumado al segundo elemento de lista2 (1). Las sumas con el primer elemento de lista2 se pierden al sobrescribir "suma" cada vez.

Algunas formas correctas de hacer este cálculo pueden ser (asumiendo len(lista1) == len(lista2):
Código Python:
Ver original
  1. lista3 = []
  2. for i in range(len(lista1)):
  3.     lista3.append(lista1[i] + lista2[i])
  4. print 'La suma de las dos listas es', lista3
  5.  
  6. lista3 = []
  7. for i, elemento in enumerate(lista1):
  8.     lista3.append(elemento + lista2[i])
  9. print 'La suma de las dos listas es', lista3
  10.  
  11. lista3 = [ a+b for (a, b) in zip(lista1, lista2) ]
  12. print 'La suma de las dos listas es', lista3
  #3 (permalink)  
Antiguo 17/03/2016, 12:45
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Suma de elementos de dos listas

Gracias, si funcionó
  #4 (permalink)  
Antiguo 21/03/2016, 22:48
 
Fecha de Ingreso: mayo-2015
Mensajes: 15
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Suma de elementos de dos listas

Y deberias pedir el tamaño de lista una sola vez, para asegurarte que sean del mismo tamaño

Etiquetas: elementos, listas, programa, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:08.