杨辉三角的Python实现

杨辉三角如下:

             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实现的杨辉三角的记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值