最开始接触的python的时候,杨辉三角写的复杂:
#杨辉三角
def YangHui(n):
i = 3
j = 1
L_before = [1,1]
if n < 1:
print('ERROR! The number must >= 1')
elif n == 1:
print([1])
elif n == 2:
print([1])
print([1,1])
else:
print([1])
print([1,1])
while i <= n:
L_now = [ x for x in range(i)]
L_now[0] = 1
L_now[i-1] = 1
while j < i-1:
L_now[j] = L_before[j-1] + L_before[j]
j += 1
i += 1
j = 1
L_before = L_now
print(L_before)
n = int(input('n = '))
YangHui(n)
input('Print any key to exit!')
后来发现,还可以这么实现杨辉三角:
L = [1]
while 1:
yield L
L = [1] + [ L[n] + L[n+1] for n in range(len(L)-1) ] + [1]
真是相形见绌啊T T