首页 > 解决方案 > 帕斯卡的三角形在 Python 3 中不起作用

问题描述

我是 Python 新手。有人可以解释一下为什么这段代码没有将二维数组填充为帕斯卡三角形吗?

def PascalTri(n):
    ar=[[0]*n]*n
    print(ar)
    for i in range(0,n):
        for j in range(0,i+1):
            if j==0 or i==j:
                ar[i][j]=1
            else:
                ar[i][j]=ar[i-1][j-1] + ar[i-1][j]

    print(ar)

PascalTri(5)

输出 :

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
[[1, 4, 8, 9, 1], [1, 4, 8, 9, 1], [1, 4, 8, 9, 1], [1, 4, 8, 9, 1], [1, 4, 8, 9, 1]]

标签: python

解决方案


推荐阅读