Buscar

Matrizes em python 3

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.

💡 3 Respostas

User badge image

Adriano Martins

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.

2
Dislike0
User badge image

Thamys Abrahão

No python você pode usar a biblioteca numpy para isso. Com a numpy, você pode usar a função lógica numpy.allclose para verificar se a matriz é simétrica com pouquíssimas linhas de código:


import numpy as np

def is_symmetric(matriz):
     return np.allclose(matriz, matriz.T)


2
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais