python 生成器 杨辉三角形代码注解

对于生成器的说明参考廖雪峰的教程,原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317799226173f45ce40636141b6abc8424e12b5fb27000

以及:https://www.jianshu.com/p/b709747d125e

生成器中通常用while True:,对此一直感到困惑,后来明白了生成器函数的运行顺序后就理解了,可以把它当作一个不断执行的中断,并且能把参数也保留到下一次计算的过程。

以下是将个人理解作为注释的代码(来自于廖雪峰的教程),执行步骤按照步骤1~9作为例子说明运行过程。

def triangles():
    L = [1]

    while True:
        yield L
        # 步骤2,步骤7
        # 遇见关键字yield ,triangles挂起中断
        # 返回L

        # 下一次才继续执行以下代码
        # 循环后再次遇见下一次的关键词,中断后返回这一次的L
        G = [0] + L + [0]
        L = [  G[i] + G[i + 1] for i in rang
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值