Discuss / Python / 来做题。看了很多答案,有位大佬用的列表推导式最让我震撼,只用了8行代码,而且逻辑关系好强!但以我现在的逻辑能力很难自发地用那个思路推导。所以就按常规的结合列表推导式写了一下,用了12行代码。任重道远

来做题。看了很多答案,有位大佬用的列表推导式最让我震撼,只用了8行代码,而且逻辑关系好强!但以我现在的逻辑能力很难自发地用那个思路推导。所以就按常规的结合列表推导式写了一下,用了12行代码。任重道远

Topic source

def triangles(n):

    print([1])

    L=[0,0]

    while n>1:

        Ln=[L[i]+L[i-1] for i in range(1,len(L)) if L[i]!=0 ]

        Ln.insert(0,1)

        Ln.append(1)

        yield Ln

        L=Ln

        n-=1

for j in triangles(10):

    print(j)


  • 1

Reply