Python - matriz simetrica

 
Vista:
sin imagen de perfil

matriz simetrica

Publicado por anonymous (3 intervenciones) el 17/11/2020 17:27:49
Buenas, necesitaria ayuda a complementar el siguiente codigo del ejercicio:
Desarrolle una función llamada symmetrical que tome como parámetro una lista de listas de números enteros que representa una matriz cuadrada. La función debe devolver True si la lista pasada como parámetro representa una matriz simétrica, y False si no. Una matriz se dice simétrica si es cuadrada y a[i][j] == a[j][i] para todo i, j.

Ejemplo:

1
2
3
4
5
6
[
    [ 3,  5,  4,  3],
    [ 5,  7,  5,  8],
    [ 4,  5,  5,  0],
    [ 3,  8,  0,  9],
]

Lo que te da el ejercicios:
1
2
3
4
5
6
7
8
9
10
import matrix_functions
 
numbers = [
    [ 3,  5,  4,  3],
    [ 5,  7,  5,  8],
    [ 4,  5,  5,  0],
    [ 3,  8,  0,  9]
]
result = matrix_functions.symmetrical(numbers)
print(result)

la funcion que yo desarrolle es la siguiente:
1
2
3
4
5
6
7
def symmetrical(matriz):
    for i in range(0, 4):
        for j in range(0,4):
            if (matriz[i][j] != matriz[j][i]):
                return False
            else:
                return True

Pero esta no cumple para todas la posibles matrices. Agradecerñia una pequeña expliación a las propuestas dadas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

matriz simetrica

Publicado por algoritmo (245 intervenciones) el 17/11/2020 20:34:00
Hola

con un vistazo rápido, observo que tu bucle debería ser:

1
2
for i in range(0, len(matriz)):
for j in range(0, len(matriz):

Por otra parte, el return True, debería de ponerse fuera del if, después de los dos for

Saludos :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar