python实现杨辉三角

使用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) = 新的元素
最后输出:

image.png

你可能感兴趣的:(python实现杨辉三角)