Discuss / Python / 练习作业

练习作业

Topic source
# -*- coding:utf-8 -*-

def triangles():
    n = 1
    Lm = Ln = []
    while True:
        if n == 1:
            Lm = Ln = [1]
            n += 1
            yield Ln
        elif n == 2:
            Lm = Ln = [1, 1]
            n += 1
            yield Ln
        else:
            Ln = [1, 1]
            for i in range(1, n-1):
                Ln.insert(-1,Lm[i-1]+Lm[i])
            Lm = Ln
            yield Ln
            n += 1

参考其它同学的优秀答案,mark一下,真心强大。

def triangles():
    p = [1]       
    while True:
       yield p         
       p =[1]+[p[x]+p[x+1] for x in range(len(p)-1)]+[1]

  • 1

Reply