1
/ \
1 1
/ \ / \
1 2 1
/ \ / \ / \
1 3 3 1
/ \ / \ / \ / \
1 4 6 4 1
/ \ / \ / \ / \ / \
1 5 10 10 5 1
把每一行看做一个list,试写一个generator,不断输出下一行的list:
def triangle():
L=[1]
while True: #实现不断循环
yield L #generator的形式
L.append(0) #在数列的后面加一个0元素,占位同时符合赋值
L=[L[i-1]+L[i] for i in list(range(len(L)))]
#构建数列的方法:满足新数列的为旧数列两个相邻元素的加和,这个时候迭代的数列为一个range(len(L))的(0-len)的数组
#i=0,i-1是-1,L[-1]也有含义,表示最后一个元素