[Python]生成器-杨辉三角的生成

2016-08-20  本文已影响216人  PlutoMa
def triangles():
    # 层数
    n = 1 
    # 上一层列表
    a = []
    while True:
        # 本层列表
        l = []
        for i in range(0, n):
            if i == 0 :
                l.insert(i, 1)
            elif i == n - 1:
                l.insert(i, 1)
            else:
                l.insert(i, a[i-1]+a[i])
        yield l
        a = l
        n = n + 1

# 打印层数控制
n = 0
for t in triangles():
    print t
    n = n + 1
    if n == 10:
        break

调用结果为:

屏幕快照 2016-08-20 下午10.39.26.png
上一篇下一篇

猜你喜欢

热点阅读