例如我定义了f=[1],那下一行的内容就是[1]+[f[i]+f[i+1]] for i in range(len(f)-1)]+[1]
接下来在获取新一行上面加一个循环,最后设计一下生成器中yield的位置就可以了
defyang():
f=[1]whileTrue:yield f
f=[1]+[f[i]+f[i+1]for i inrange(len(f)-1)]+[1]
n=0for i in yang():if n<10:print(i)
n+=1else:break
这里用迭代器 看看是否能加深你的理解呢
classHui:def__init__(self):
self.a=[1]def__next__(self):yield self.a
self.a=[1]+[self.a[i]+self.a[i+1]for i inrange(len(self.a)-1)]+[1]def__iter__(self):return self
a=Hui()
a_num=0for j in a :print(list(j)[0])
a_num+=1if a_num==10:break