matrixflip (m, d) где m - это матрица, а d может быть h или v, которые являются горизонтальными и вертикальными соответственно - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь написать код Python для функции, которая должна возвращать матрицу, перевернутую по горизонтали и вертикали

Я новичок в Python

def matrixflip (myl, 'v'): output =list (myl [:: - 1]) возвращаемый вывод

myl = [[1,2], [3,4]]

myl [[1, 2], [3, 4]]

matrixflip (myl, 'h') [[2, 1], [4, 3]]

myl [[1,2], [3, 4]]

matrixflip (myl, 'v') [[3, 4], [1, 2]]

myl [[1, 2],[3, 4]]

1 Ответ

0 голосов
/ 19 февраля 2019
import copy
def matrixflip(l,char):
    myl = copy.deepcopy(l)
    if char == 'h':
        for i in range(len(myll)):
            myl[i].reverse()
    if char == 'v':
        i,j = 0, len(myl)-1
        while(i<j):
            myl[i], myl[j] = myl[j], myl[i]
            i+=1
            j-=1
    return(myl)

Копирование используется из-за изменения исходного значения матрицы.Так что не меняйте оригинальный список.

...