zoukankan      html  css  js  c++  java
  • 杨辉三角(生成器generator)

    生成器:(Python中,这种一边循环一边计算的机制,称为生成器:generator)
    创建generator的方法:
    1.把列表生成式的[]变为(),就创建了一个generator
    例:
    可以通过next()获得generator得下一个返回值
    遍历的话可以直接用:
    for i in g:
         print(i)
    2.将函数中的print(b)改为yield b,如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator
     
    杨辉三角,期待输出效果:
    [1]
    [1, 1]
    [1, 2, 1]
    [1, 3, 3, 1]
    [1, 4, 6, 4, 1]
     
    代码:

    def triangles(max):   
        n,l = 0,[]
        while n <max:
            a=0
            k=[]     
            for i in l:          
                k.append(a+i)        
                a=i
            k.append(1)
            print(k)
            l=k
            n = n+1

    if __name__=="__main__":
        triangles(5)
        

    生成器方式
    def triangles(max):   
        n,l = 0,[]
        while n <max:
            a=0
            k=[]     
            for i in l:          
                k.append(a+i)        
                a=i
            k.append(1)
            yield k
            l=k
            n = n+1
    if __name__=="__main__":
        for t in triangles(5):
            print(t)
  • 相关阅读:
    阿里数据中台底座的12年建设实践
    淘宝小部件:全新的开放卡片技术!
    判断QQ是否在线
    Linux消息队列应用
    轻松学习Linux之如何创建可执行脚本
    JAVA多线程学习笔记
    轻松学习Linux之Shell文件和目录属性详解
    Firefox必备的24款web开发插件
    数论+图论+map——cf1323E
    【codevs1116】四色问题
  • 原文地址:https://www.cnblogs.com/meitian/p/4730841.html
Copyright © 2011-2022 走看看