Verán, en un cursillo de Python nos plantearon unos cuantos ejercicios. Uno de ellos es este. El programa debe sumar los elementos de las filas y de las columnas de una matriz de tamaño 5x5. La cuestión es que debe mostrar los resultados en este formato(no hagan caso a lo de 'Código', es que no se como ponerlo en el foro de otra forma xD):
Código
Introduzca fila 1: 2 5 3 4 5 Introduzca fila 2: 2 6 8 4 5 Introduzca fila 3: 9 8 3 5 2 Introduzca fila 4: 5 3 8 5 6 Introduzca fila 5: 0 1 4 3 4 Totales filas : 19 25 27 27 12 Totales columnas : 18 23 26 21 22
Aquí les dejo el código -->
Código
# -*- coding: utf-8 -*- suma_filas = [] # Lista que guarda los totales de las filas. suma_columnas = [] # lista que guarda los totales de las columnas. matriz = [] # Lista que guarda la matriz. for i in xrange(1, 6): # Este bucle lee la fila y convierte la cadena a enteros. fila = raw_input("Introduce fila " + str(i) + ": ") aux = fila.split() # Separamos los 'numeros' (esto es una cadena) y los introducimos en una lista auxiliar. for j in xrange(len(aux)): aux[j] = int(aux[j]) # Aquí convierte a enteros. matriz.append(aux) # Agregamos la lista auxiliar a la lista 'matriz'. for i in xrange(0, 5): s_fila = 0 s_columna = 0 for j in xrange (0, 5): s_fila += matriz[i][j] # Sumamos los elementos de la fila i. s_columna += matriz[j][i] # Sumamos los elementos de la columna i. suma_filas.append(s_fila) # Añadimos 's_fila' a los totales de fila. suma_columnas.append(s_columna) # Añadimos 's_columna' a los totales de columna. # A partir de aquí, imprimos los resultados. print 'Totales filas{0:18}'.format(':'), for i in xrange(len(suma_filas)): print suma_filas[i], print 'Totales columnas{0:18}'.format(':'), for i in xrange(len(suma_columnas)): print suma_columnas[i], print '\n'
Después de mucho guerrear, no consigo que los dos puntos se queden en su sitio!!
Ayuda me estoy quemando!! xD
PD: Gracias de antemano.