在Python中,楊輝三角總是拿出來當演演算法題考,那什麼是楊輝三角呢?檢視定義
先來觀察下面的楊輝三角圖例:
通過觀察會發現,楊輝三角的每行的第一個與最後一個數都是1,且從第3行開始非1數位是它左上方和右上方的數的和 !
那麼知道了規律就可以開始寫程式碼了
def triangles(row):
count = 0
while count < row:
arr = []
for i in range(count+1):
if i > 0 and i < count:
arr.append(lastList[i-1] + lastList[i])
else:
arr.append(1)
lastList = arr
yield arr
count += 1
for t in triangles(10):
print(t)
上面程式碼寫完了,看著這麼多程式碼,那麼是不是可以把程式碼簡化一些呢?
然後就有了下面程式碼
def triangles(row):
count = 0
while count < row:
arr = [arr[i-1] + arr[i] if i > 0 and i < count else 1 for i in range(count+1)]
yield arr
count += 1
for t in triangles(10):
print(t)
這樣程式碼就簡潔很多了