NumPy Python задачка на формирование матриц

При помощи numpy нужно реализовать часть задания со скриншота (Ввод матриц , а также матрицу вывода и формирования F я сделала (код ниже)

С клавиатуры вводится два числа K и N. Квадратная матрица А(N,N), состоящая из 4-х равных по размерам подматриц, B,C,D,E заполняется случайным образом целыми числами в интервале [-10,10]. Для тестирования использовать не случайное заполнение, а целенаправленное. Вид матрицы А: E B D C

Основная задача

import time
import random
import numpy as np
 
def print_matrix(Matrix, matrix_name, timetime):
    print(f"Матрица {matrix_name} промежуточное время = {round(timetime, 2)} seconds.")
    for i in Matrix:  # Делаем перебор всех строк матрицы
        for j in i:  # Деребираем все элементы в строке
            print("%5d" % j, end=" ")
        print()
print("\n-------Результат работы программы-------")
try:
    matrix_size = int(input("Введите количество строк (столбцов) квадратной матрицы больше 4 : "))
    while matrix_size < 4 or matrix_size > 100:
        matrix_size = int(input("Вы ввели неверное число\nВведите количество строк (столбцов) квадратной матрицы больше 4 :"))
    K = int(input("Введите число К="))
    start = time.time()
    A = np.zeros((matrix_size, matrix_size))
    F = np.zeros((matrix_size, matrix_size))
    time_next = time.time()
    for i in range(matrix_size):  # Формируем матрицу А
        for j in range(matrix_size):
            A[i][j] = np.random.randint(-10, 10)
    time_prev = time_next
    time_next = time.time()
    print_matrix(A, "A", time_next - time_prev)
 
    for i in range(matrix_size):    # Формируем матрицу F, копируя из матрицы А
        for j in range(matrix_size):
            F[i][j] = A[i][j]

Ответы (0 шт):