美文网首页程序员
python输出杨辉三角

python输出杨辉三角

作者: daiw | 来源:发表于2016-04-19 19:45 被阅读2096次
    杨辉三角定义
          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输出杨辉三角

        本文链接:https://www.haomeiwen.com/subject/yvkzlttx.html