def triangles():
l = [1]
while True:
yield l
l = [1] + [l[k] + l[k+1] for k in range(len(l)-1)] + [1]
n = 0
results = [] # 这行可以不要
for t in triangles():
print(t)
results.append(t) # 这行可以不要
n = n + 1
if n == 10:
break
步骤分解:
1, 先是l=[1],然后l=[1] + [l[k] + l[k+1] for k in range(1-1)] + [1],即中间这项为[],
2, 然后l=[1,1],然后l=[1] + [l[k] + l[k+1] for k in range(2-1)] + [1],中间这项为:for k in range(1):k=0,所以l[0]+l[1]= [2]
3, 然后l=[1,2,1],然后l=[1] + [l[k] + l[k+1] for k in range(2-1)] + [1],中间这项为for k in range(2):k=0,1,所以[l[0]+l[1],l[1]+l[2]] =[3,3]