Fazer uma função que receba uma matriz de 5 linhas por 5 colunas e retorne True se esta matriz é simétrica (ela é igual a sua transposta) ou False se não.
1 col = [ ]
2
3 def simetria(matriz):
4 if (len(matriz) != 5) or (len(matriz[0]) != 5):
5 print("Essa não é uma matriz de ordem 5.")
6 exit( )
7 cont = 0
8 for x in range(5):
9 for y in range(5):
10 if matriz[x][y] == matriz[y][x]:
11 cont += 1
12
13 for x in range(len(matriz)):
14 print(matriz[x])
15
16 if cont == len(matriz) ** 2:
17 print("Matriz simétrica.")
18 else:
19 print("Matriz não simétrica.")
20
21 for x in range(5):
22 lin = [ ]
23 for y in range(5):
24 n = x + y
25 lin.append(n)
26 col.append(lin)
27
28 simetria(col)
No exemplo acima a saída ser Matriz simétrica.. Para que a saída apresente um resultado diferente basta mudar o trecho de código na linha 24 de n = x + y para n = x - y e vai aparecer escrito Matriz não simétrica..
Na prática, só é preciso mudar o parâmetro (matriz) da função simetria para o nome da matriz que está sendo analisada, ficando, mais ou menos, assim:
simetria(nome_da_matriz_para_analisar)
Exemplo:
nomes = [["Antônio", "José", "Artur"], ["José", "Paulo", "Marcos"], ["Artur", "Marcos", "Carlos"]]
simetria(nomes)
Saída: Matriz simétrica.
Espero que ajude.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar