楊輝三角-生成器練習

利用generator輸出楊輝三角

特點

    楊輝三角的特點在於從第一行只包含一個1以外,下面的每行兩端都是1,中間數字爲上一行的兩個相鄰數字之和;python的生成器是利用循環生成需要的元素,區別於列表生成式(在初始時創建),因此將楊輝三角具備的特點利用生成器表示出來。

實現

def triangles():  
    L = [1]  #第一行
    yield L  
    while True:  
        #從第二行開始利用楊輝三角定義進行每行的構建
        L = [1] + [L[x]+L[x+1] for x in range(len(L)-1)] + [1]  
        yield L  

n=0  
for L in triangles():  
    print(L)  
    n = n+1  
    if n == 15:  #輸出十五行
        break  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章