杨辉三角如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
在网上看到的一个实现,由此记录下来,可将杨辉三角看成如下形式
1, 0,
1, 1, 0,
1, 2, 1, 0
1, 3, 3, 1, 0
1, 4, 6, 4, 1, 0
1, 5,10,10, 5, 1, 0
1, 6,15,20, 15, 6,1
则实现方式很明显为:
def triangles():
L = [1] #第一个数为1
while True:
#杨辉三角是一个迭代器,没有范围,用yield返回
yield L
#在L后添加一个0,为接下来的计算做准备
L.append(0)
#第一次实现为L=[L[-1]+L[0],L[0]+L[1]]=L[0+1,1+0]
#第二次实现为L=[L[-1]+L[0],L[0]+L[1],L[1]+L[2]]=[0+1,1+1,1+0]
#.........
L = [L[i - 1] + L[i] for i in range(len(L))]
本文仅为Python实现的杨辉三角的记录