利用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