使用python实现杨辉三角
python教程-生成器
def triangles():
L = [1]
while True:
yield L[:]
L.append(0)
L = [L[n] + L[n - 1] for n in range(len(L))]
杨辉三角的特点:
1.每行端点与结尾的数为1
2.每个数等于它上方两数之和
3.第n行的数字有n项。
知道这三个特点即可
比如L = [1,3,3,1]
L.append(0) => [1,3,3,1,0]
range(len(L))
生成的数组是:[0,1,2,3,4]
使用python列表生成式:
L = [L(n) + L(n-1) for n in [0,1,2,3,4]]
当n=0
时,n-1=-1
,这时候取倒数第一个元素0
,所以1+0 = 1
剩下的元素就是n + (n-1) = 新的元素
最后输出: