花了几乎半小时,写出了一个关于计算杨辉三角的函数,然而对答案时,又发现活到老,学到老。
没错,triangles()
函数是我写的,而triangles1()
则是另一位写的。
R = L[:]
。否则: >>> L = [1,2,3,4,5]>>> R=L>>> L.append(6)>>> L[1, 2, 3, 4, 5, 6]>>> R[1, 2, 3, 4, 5, 6]>>> R.append(0)>>> R[1, 2, 3, 4, 5, 6, 0]>>> L[1, 2, 3, 4, 5, 6, 0]
这里是代码:
def triangles(): n = 3 yield [1] yield [1,1] L = [1,1] while True: R = L[:] L = [] for i in range(n): if (i < n-1) and (i > 0): L.append(R[i]+R[i-1]) else: L.append(1) yield L n += 1def triangles1(): L=[1] yield L while True: L=[1]+[L[x]+L[x+1] for x in range(len(L)-1)]+[1] yield Ln=0for t in triangles1(): print(t) n = n + 1 if n == 20: break
版权:保留所有解释权。转发请注明出处。