Pascal三角形的每一行都一样-python

时间:2018-06-20 23:08:37

标签: python-3.x

这是我对Stackflow的第一个问题。 我想创建一个高度为'n'的帕斯卡三角形。 这是我的代码:

nb = input('input lines: ')
nb = int(nb)
array = [([1]+[0]*(nb-1))]*nb
for i in range(1, nb):
    for j in range(1 ,nb):
        array[i][j] = array[i-1][j-1] + array[i-1][j]

我想得到:

[1, 0, 0, 0, 0]
[1, 1, 0, 0, 0]
[1, 2, 1, 0, 0]
[1, 3, 3, 1, 0]
[1, 4, 6, 4, 1]

但是结果是这样的:

input lines: 5
[1, 4, 10, 20, 35]
[1, 4, 10, 20, 35]
[1, 4, 10, 20, 35]
[1, 4, 10, 20, 35]
[1, 4, 10, 20, 35]

我不明白为什么每一行都变成相同的内容。特别是我从第二行的第二个元素开始递归。

有人可以用我的代码解释这个问题。 非常感谢

0 个答案:

没有答案