python - 帕斯卡的三角形在 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]]
解决方案
推荐阅读
- angular - 将焦点更改为以 Angular 6 提交的表单
- visual-studio-2017 - Visual Studio 2017 社区构建失败且未显示任何错误
- elasticsearch - 如何通过 AWS VPC 使用 Elastic Cloud 的 Logstash 从 MySQL(AWS RDS) 导入数据?
- excel - 如何自动隐藏功能区,但仅适用于特定工作簿且仅适用于该工作簿中的一个工作表
- javascript - 如何更改分页点的 react-native-swiper-flatlist 样式?
- arguments - Nim argv 等效项
- django - 使用 Multiselectfield 上的 django 过滤器后端进行过滤
- javascript - 如何在运行时了解已加载的 d3.js 扩展及其版本?
- python - 如何对返回相同类型的类实例的两个类实例(以 float 作为子类)执行算术运算?例如速度(2) + 速度(2)
- phpexcel - 使用php从数组中的对象(具有私有属性)访问值