Python实现杨辉三角个人理解

刚开始学python,在廖雪峰大神的python教程里做到了杨辉三角的题目,在python在没有数组的概念,但有和数组相似的list。

以下代码为本人在教程下方的评论区截取”@其实我姓谢“同学的。
写下此博客方便回顾。具体实现代码如下:

def triangles():
    L = [1]     
    while True:
        yield L
        L.append(0)
        L = [L[i-1]+L[i] for i in range(len(L))]
n=0
a = input("请输入杨辉三角的行数:")
for t in triangles():
    print(t)
    n = n+1
    if n == int(a):
        break
简单的部分就不说了。我们主要看generator的这一部分。
因为range(x)得出的是0到x-1的数,所以上文中的L[i-1]的必然会有L[-1]和L[1]相加的结果。L[1]开头必然是1的,而L[-1]则是最后一项,此时我们就应该明白前一行的append(0)的用意了,他使每次打印的结尾都变成了1(0+1)的结局。接下来就是其他[i-1]项和[i]项打印输出就结束了。
本文仅个人理解,如有错误望各位包涵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值