konopka228
@konopka228
Пытаюсь понять программирование

Как повернуть матрицу, используя только один массив?

Нужно повернуть квадратную матрицу на 90 градусов вправо. Написал вот такой код:
import numpy as np
import random

   n = int(input('Enter the number of rows: '))
   m = n
    a = np.zeros((n, m), dtype=int)
    for i in range(n):
        for j in range(m):
            a[i, j] = random.randint(-128, 128)
    print(f'Start matrix:\n {a}')
    c = np.copy(a)
    for i in range(n):
        for j in range(m):
            a[j, n - 1 - i] = c[i, j]
    print(f'End matrix:\n {a}')

Как можно изменить последнюю строку, используя только матрицу а, без использования дополнительных матриц (в моем случае матрицы с)?
c = np.copy(a)
    for i in range(n):
        for j in range(m):
            a[j, n - 1 - i] = c[i, j]
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 2
К замечанию в комментариях добавлю рекомендацию сделать numpy.rot90(matrix, 3)
Ответ написан
Комментировать
tema_sun
@tema_sun
>>> orig = [[1,2,3,4], ["a", "b", "c", "d"], [4,3,2,1]]
>>> zip(*orig[::-1])
[(4, 'a', 1), (3, 'b', 2), (2, 'c', 3), (1, 'd', 4)]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы