杨辉三角定义如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
现在用一个生成器函数来实现杨辉三角,把每一行看做一个list
实现:
def triangles(n): # 生成n阶杨辉三角
l=[1] # l记录上一行的list, list0记录当前行的list
num=0
while num < n:
yield l
list0=[1]
for i in range(1,len(l)):
list0.append(l[i-1] + l[i])
list0.append(1)
l=list0
num+=1
a=triangles(7) #生成7阶杨辉三角
for t in a:
print(t)