首页 > 解决方案 > 如何在我的 FlipHorizo​​ntal 和 FlipVertical 函数中调用我的 printArray 函数,以便在每次运行时翻转我的代码?

问题描述

我目前正在学习一门名为计算机科学简介的计算机科学课程,在那里我正在学习 Python(Python 3),并且我正在做一项与翻转 2D 数组有关的作业。我已经为我的作业编写了一些代码,并且我已经按照说明中的说明按顺序运行它,但是每次翻转它时我都遇到了一些问题。我想知道的是:如何在我的 FlipHorizo​​ntal 和 FlipVertical 函数中调用我的 printArray 函数,以便在每次运行时翻转我的代码?我有作业说明和教师对我的作业的评论。

以下是说明:

在此处输入图像描述

在此处输入图像描述

这是我的代码:

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)

这是评论:

在此处输入图像描述

标签: pythonarraysfor-loop2d

解决方案


如果我阅读正确,您只需在定义的函数中添加打印语句。

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)

推荐阅读