直接上**,也是網上找的,自己試了試,很好玩,記錄一下:
def ********s():
l = [1]
while true:
yield l
l = [l[i-1]+l[i] for i in range(len(l))]
定義乙個函式,輸入列印多少行:
def canshu(k):
n = 0
for t in ********s():
print(t)
n = n+1
if n == k:
break
呼叫:canshu(10)
列印的結果:
[1][1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
該方式用到了列表生成式,理解起來較困難,下面是另一種方式:
def ********s():
ret = [1]
while true:
yield ret
for i in range(1, len(ret)):
ret[i] = pre[i] + pre[i - 1]
pre = ret[:]
自己可以試試!
python楊輝三角 楊輝三角I II
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...
Python 楊輝三角
首先附上我們需要求得的楊輝三角 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 1,5,10,10,5,1 1,6,15,20,15,6,1 1,7,21,35,35,21,7,1 1,8,28,56,70,56,28,8,1 1,9,36,84,126,126,84,36,9,1 很顯...
楊輝三角 Python
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 coding utf 8 usr bin env python author wowlnan gi...