Escolar Documentos
Profissional Documentos
Cultura Documentos
def imprime_matriz(matriz):
ordem = len(matriz)
new_matriz = []
for i in range(ordem): # Transforma todos os números da matriz em string para
que seja possível imprimir linha por linha da mesma
linha = []
for j in range(ordem):
linha.append(str(matriz[i][j]))
new_matriz.append(linha)
def verifica_matriz(matriz):
ordem = len(matriz)
soma_teste = sum(matriz[0]) # Todas as somas de linhas, colunas e diagonais
devem ser iguais a soma_teste, soma da linha 1
for i in range(ordem):
if sum(matriz[i]) != soma_teste: # Compara-se a soma_teste com todas as
somas de linhas
return False
for j in range(ordem):
conta = 0
for i in range(ordem):
conta += matriz[i][j]
if conta != soma_teste: # Compara-se a soma_teste com todas as somas de
colunas
return False
conta = 0
for i in range(ordem):
conta += matriz[i][i] # Compara-se a soma_teste com a soma da diagonal
principal
if conta != soma_teste:
return False
conta = 0
for i, j in zip(range(ordem), range(ordem - 1, -1, -1)): # Compara-se a
soma_teste com a diagonal secundária
conta += matriz[i][j]
if conta != soma_teste:
return False
return True # Retorna True caso não haja nenhuma soma diferente de soma_teste
matriz = abre_arquivo("My_matrix.txt")
imprime_matriz(matriz)
if verifica_matriz(matriz):
print("O quadrado é mágico.")
else:
print("O quadrado não é mágico")