Как переставить блоки матрицы по часовой стрелке python 3?
Помогите, пожалуйста, разобраться с решением задачи.
Задача: пусть существует матрица А размером 2N*2N. Получите новую матрицу путём перестановки блоков размером N*N матрицы А по часовой стрелке.
Ниже представлен мой код. Так по моему представлению должны меняться элементы матрицы для решения поставленной задачи, но вывести новую матрицу я не могу.
Пожалуйста, помогите найти оптимальный способ решения этой задачи на Python 3.
from random import randint
N = 4
M = 4
matrix = [[randint(1, 9) for i in range(N)] for i in range(M)]
for i in matrix:
print()
for j in i:
print(j, end=" ")
if ((i == 1 or i == 2) and (j == 1 or j == 2)):
new_j = j + 2
new_i = i
if (i == 1 or i == 2) and (j == 3 or j == 4):
new_i = i + 2
new_j = j
if (i == 3 or i == 4) and (j == 3 or j == 4):
new_j = j - 2
new_i = i
if (i == 3 or i == 4) and (j == 1 or j == 2):
new_i = i - 2
new_j = j
for new_i in range(N):
for new_j in range(M):
print(matrix1)
