小编Day*_*man的帖子

如何在二维数组中切换行和列?

我正在编写一个代码,它将创建一个可视化的谢尔宾斯基三角形以进行 3D 打印,为了使其工作,我必须使用将创建数组的 Pascal 三角形算法,以便我可以用来告诉我的算法将创建我的三角形不放三角形的地方。

无论如何,问题是,我排列三角形的代码按列而不是像 Pascal 算法那样按行创建三角形,所以我只是想通过重新排列 Pascal 数组的子例程来快速修复。我只是被难住了如何去做,因为我不知道如何避免index out of range错误。

这是为帕斯卡三角形创建数组的代码。

TL:DR我正在尝试重新排列一个数组,其中行是列,列是行

def pascal(n):
    """Prints out n rows of Pascal's triangle."""
    row = [1]
    global array
    array = [[0 for x in range(int(n))] for y in range(int(n))]
    array[0]=row
    k = [0]
    for x in range(int(max(n,0)-1)):
       row=[l+r for l,r in zip(row+k,k+row)]
       array[x+1]=row
    return 1
Run Code Online (Sandbox Code Playgroud)

这是打印数组的输出。我只希望行是列,列是行

def pascal(n):
    """Prints out n rows of Pascal's triangle."""
    row = [1]
    global array
    array = [[0 for x in …
Run Code Online (Sandbox Code Playgroud)

python arrays algorithm multidimensional-array pascals-triangle

5
推荐指数
2
解决办法
5319
查看次数