杨辉三角的Python实现

来源:互联网 发布:优化排名软件 编辑:程序博客网 时间:2024/05/16 12:58

杨辉三角如下:

             1           1   1         1   2   1       1   3   3   1    1   4   6   4   1  1   5   10  10  5   11   6   15  20  15  6   1

在网上看到的一个实现,由此记录下来,可将杨辉三角看成如下形式

1, 0, 1, 1, 0, 1, 2, 1, 01, 3, 3, 1, 01, 4, 6, 4, 1, 01, 5,10,10, 5, 1, 01, 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实现的杨辉三角的记录

0 0