Python Math: Упражнение 20 с решением
Напишите программу Python для вычисления магического квадрата.
Магический квадрат — это набор различных чисел ( т. е. каждое число используется один раз), обычно целые числа, в квадратной сетке, где числа в каждой строке и в каждом столбце, а также числа в главной и вторичной диагоналях в сумме дают одно и то же число, называемое » магическая константа «. Магический квадрат имеет такое же количество строк, как и столбцов, а в обычной математической записи «n» обозначает количество строк (и столбцов), которые у него есть. Таким образом, магический квадрат всегда содержит n2 чисел, и его размер (количество строк [и столбцов], которые он имеет) описывается как «порядка n».
Наглядное представление:
Пример решения : —
Код Python:
def magic_square_test (my_matrix): iSize = len (my_matrix [0]) sum_list = [] #Horizontal Part: sum_list.extend ([sum (lines) for lines in my_matrix]) #Vertical Part: for col in range (iSize): sum_list.append (sum (row [col] for row in my_matrix)) #Diagonals Part result1 = 0 для i в диапазоне (0, iSize): result1 + = my_matrix [i] [i] sum_list.append (result1) result2 = 0 for i in range (iSize-1, - 1, -1): result2 + = my_matrix [i] [i] sum_list.append (result2) if len (set (sum_list))> 1: return False return Truem = [[7, 12, 1, 14], [ 2, 13, 8, 11], [16, 3, 10, 5], [9, 6, 15, 4]] print (magic_square_test (m)); m = [[2, 7, 6], [9 , 5, 1], [4, 3, 8]] print (magic_square_test (m)); m = [[2, 7, 6] , [9, 5, 1], [4, 3, 7]] print (magic_square_test (m));
Пример вывода:
Верно Верно Неверно
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует шаг за шагом, что делает компьютер, когда он выполняет указанную программу:
Редактор кода Python: