题目:输出杨辉三角的前十行
提示:使用zip(),yield
代码:
def trangle(n):
l=[1]
def _trangle(last):
l=[sum(i) for i in zip([0]+last,last+[0])]<span style="white-space:pre"> </span>##算法重点
return l
for i in range(1,n+1):
yield l<span style="white-space:pre"> </span>##生成迭代器
l=_trangle(l)<span style="white-space:pre"> </span>
for i in trangle(10):
print (i)
算法思想:
我们小学就知道杨辉三角它的形式是:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15