def input_matrix(n):
matrix = []
for i in range(1, n + 1):
row = []
for j in range(1, n + 1):
row.append(int(input("[%d, %d]: " % (i, j))))
matrix.append(row)
return matrix
def is_magic_square(matrix):
n = len(matrix)
sample_sum = 0
for i in range(n):
sample_sum += matrix[0][i]
for i in range(n):
row_sum, column_sum = 0, 0
for j in range(n):
row_sum += matrix[i][j]
column_sum += matrix[j][i]
if row_sum != sample_sum or column_sum != sample_sum:
return False
return True
def print_matrix(matrix):
for row in matrix:
row_str = ""
for elem in row:
row_str += '{:4}'.format(elem)
print(row_str)
N = int(input("Введите порядок матрицы: "))
if N <= 0:
print("Некорректные входные данные: указанный порядок матрицы <= 0.")
else:
matrix = input_matrix(N)
print("\nПостроенная матрица:")
print_matrix(matrix)
is_magic_square(matrix)
print("Матрица является магическим квадратом." if is_magic_square(matrix) else "Матрица не является магическим квадратом.")