python输出杨辉三角

杨辉三角定义
      1
    1   1
  1   2   1
1   3   3   1

今天学习到的一个python代码实现非常简洁
网址如下:
python 生成器
对于像我这样python初学者非常推荐
代码如下:

# -*- coding: utf-8 -*-  
def triangles():
       N = [1]
       while True:
           yield N
           N.append(0)
           N = [N[i]+N[i-1] for i in range(len(N))]

if __name__ == "__main__":
        n = 0
        for t in triangles():
        print(t)
        n = n + 1
        if n == 10:
            break

利用生成器(yield)使得每次调用的时候分配内存避免开辟过大内存,测试函数输出10行。每次迭代利用在末尾加入的0来补位,这样新的一行第i个数字就是上一行第i个数字加上第i-1个数字,若计算的是该行第一个数字,则不是一般性的为上一行第1个数字加上补位的0(python 中-1指list最后一个元素)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python学习笔记 声明:学习笔记主要是根据廖雪峰官方网站python学习学习的,另外根据自己平时的积累进行修正...
    renyangfar阅读 8,219评论 0 10
  • 从0到1:进步的未来 在彼得·蒂尔看来,进步分为两种: 第一种叫水平进步,这是一种从1到n进步,用一个词来概括便是...
    MrPositivity阅读 1,118评论 0 0
  • 1 看到别人读书就能用,一目十行。自己读过书感觉就像没读过;别人的日子过的如诗如画,自己的日子过的浑浑噩噩;...
    葭州寒雪阅读 1,664评论 0 3
  • 我总是容易怀念旧时的风景。 自从,百鸡寺开始建酒店之后,就很少上去了。 之前,总是隔三差五的去爬山。 清晨起床之后...
    申小璐阅读 2,732评论 0 0
  • 诗经楚辞汉赋 唐诗宋词元曲 明清小说 李白杜甫陶渊明孟浩然 庄子老子韩非子孔子孟子 浩荡中华,文化璀璨,人才辈出,...
    徐一村阅读 1,410评论 0 3