Как мне вызвать функцию printArray в обеих функциях flipHorizontal и flipVertical, чтобы переворачивать мой код при каждом запуске? - PullRequest
0 голосов
/ 21 апреля 2020

В настоящее время я прохожу курс по информатике под названием «Введение в информатику», где я изучаю Python (Python 3) и выполняю задание, касающееся переворачивания двумерных массивов. Я уже написал некоторый код для своего назначения и уже выполняю его последовательно, как это указано в инструкциях, но у меня возникают некоторые проблемы с переворотом каждый раз. То, что я хочу знать: как я вызываю свою функцию printArray как в моих функциях flipHorizontal, так и flipVertical, чтобы переворачивать мой код при каждом запуске? У меня есть инструкции по назначению и комментарий инструктора по моему назначению.

Вот инструкции:

enter image description here

enter image description here

Вот мой код:

def printArray(N):
    for r in N:
        for c in r:
            print(c,end = " ")
        print()
    print()

def flipHorizontal(N):
    Array = []
    for i in range(0,len(N)):
        pos = []
        for j in range(0,len(N[0])):
            pos.append(N[i][len(N[0])-j-1])
        Array.append(pos)
    return Array

def flipVertical(N):
    newArray = []
    for i in range(0,len(N)):
        newArray.append(N[len(N)-i-1])
    return newArray

Array1 = [[0, 2, 0, 0,0], [0, 2, 0, 0,0], [0, 2, 2, 0,0], [0, 2, 0, 2,0],[0, 2, 0, 0,2]]
printArray(Array1)
flipedHor = flipHorizontal(Array1)
printArray(flipedHor)
flipedVer=flipVertical(Array1)
printArray(flipedVer)

Вот комментарий:

enter image description here

1 Ответ

2 голосов
/ 21 апреля 2020

Если я правильно читаю, вам просто нужно добавить оператор печати в определенные вами функции.

def printArray(N):
    for r in N:
        for c in r:
            print(c,end = " ")
        print()
    print()

def flipHorizontal(N):
    Array = []
    for i in range(0,len(N)):
        pos = []
        for j in range(0,len(N[0])):
            pos.append(N[i][len(N[0])-j-1])
        Array.append(pos)
    printArray(Array)
    return Array

def flipVertical(N):
    newArray = []
    for i in range(0,len(N)):
        newArray.append(N[len(N)-i-1])
    printArray(newArray)
    return newArray

Array1 = [[0, 2, 0, 0,0], [0, 2, 0, 0,0], [0, 2, 2, 0,0], [0, 2, 0, 2,0],[0, 2, 0, 0,2]]
printArray(Array1)
flipedHor = flipHorizontal(Array1)
flipedVer=flipVertical(Array1)
...