Транспонирование квадратной матрицы по диагонали

Пытаюсь транспонировать квадратную матрицу по основной диагонали. Сайт Acmp не принимает код, может я условие неверно понимаю?

https://acmp.ru/asp/do/index.asp?main=task&id_course=1&id_section=8&id_topic=120&id_problem=742


import random

N = int(input())

b =[[random.randint(0, 10) for i in range(N)] for e in range(N)]

a = np.transpose(b)

for e in b:

    print(e)

print(a)

#второе решение


n = int(input())

b = np.random.randint(0,9, size=(n,n))

a = b.transpose()

print(b)

print(a)

Я так понимаю, там нужно без numpy делать. Подскажите, запутался конкретно. Еще одно сделал решение. Не подходит

n = 3

matrix = [[1, 3, 5], [2, 4, 6], [7, 8, 9]]

trans_matrix = []

for i in range(n):

    trans_matrix.append([0] * n)

for i in range(n):

    for j in range(n):

        trans_matrix[j][i] = matrix[i][j]

for i in range(len(trans_matrix)):

    print(*trans_matrix[i])

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

Автор решения: Юрыч BRO

Попробуйте это. Можете изменить формат генерации и вывода, важна только функция transpose.

import random

def print_matrix(matrix):
    for _ in matrix:
        print(_)
    print()

def transpose(arr):
    return [[arr[j][i] for j in range(len(arr))] for i in range(len(arr[0]))]

size = int(input())
arr = [[random.randint(0, 10) for i in range(size)] for e in range(size)]
print_matrix(arr)
arr = transpose(arr)
print_matrix(arr)

Используйте input для ввода из stdin:

size = int(input())
arr = [input().split() for _ in range(size)]
arr = transpose(arr)
for _ in arr:
    print(' '.join(_))
→ Ссылка
Автор решения: Юрыч BRO

Если говорить не о конкретной реализации, а об алгоритме транспонирования, то он заключается в смене местами индексов массива. Например, если мы перебираем массив переменными i и вложенно j, то должно стать наоборот - первый индекс j, а подиндекс - i. Как правильно отметил Mbo - проверьте формат вывода, возможно дело именно в нем

→ Ссылка