我正在编写一个代码,它将创建一个可视化的谢尔宾斯基三角形以进行 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