温故知新
Topic source发现可以用列表生成式来做,会更加精简
def triangles(): n, a, b = 1, [1], [1, 1] yield a while True: a = b[:] b = [1] + [a[x] + a[x - 1] for x in list(range(1, n))] + [1] n += 1 yield b
def triangles(): n, a, b = 1, [1], [1, 1] yield a while True: a = b[:] b = [1] + [a[x] + a[x - 1] for x in list(range(1, n))] + [1] n += 1 yield b
- 1
会思想的火柴
n, a, b = 1, [1], [1, 1]
yield a
while(True):
a = b[:]
b = [1, 1]
for x in list(range(1, n)):
b.insert(x, a[x] + a[x-1])
n += 1
yield b