Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2018, 07:43
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Explicación de la lógica de estos códigos (matriz, traspuesta y diagonal)

A ver, la diagonal no es necesario un doble for, ya que como i=j, con i filas j columnas con uno basta, ADEMÁS una matriz tiene diagonal si esta es cuadrada, es decir, misma cantidad de filas y columnas

Código Python:
Ver original
  1. M1 = [[1, 2,  3, 4], [2, 12, 6, 12], [1, 0, -3, 4], [10, -1, 0, 1]]
  2. M2 = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
  3.  
  4. for i in range(0,len(M1),1):
  5.     M2[i][i] = M1[i][i]
Y la traspuesta es cambiar las filas por columas, acá no hay restricción.


Código Python:
Ver original
  1. M1 = [[1, 2,  3, 4], [2, 12, 6, 12], [1, 0, -3, 4]]
  2. M2 = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
  3.  
  4. for i in range(0,len(M1),1):
  5.     for j in range(0,len(M1[i]),1):
  6.         M2[j][i] = M1[i][j]

Edite: tenia error de sintaxis en el último for de matriz traspuesta

Última edición por alvaro_trewhela; 23/11/2018 a las 08:26