CCCPaste

67f46ba162e4d

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 "Матрица не является магическим квадратом.")