[廖雪峰pythonチュートリアルリストジェネレータ練習]楊輝三角定義は以下の通りで、各行をリストと見なし、generatorを書いて、次の行のリストを出力し続けます.
1274 ワード
楊輝三角の定義は以下の通りである.
各行をリストと見なし、generatorを書いて、次の行のリストを出力し続けます.
正しい実践:
正しい実践:
エラーの実践:
1
/ \
1 1
/ \ / \
1 2 1
/ \ / \ / \
1 3 3 1
/ \ / \ / \ / \
1 4 6 4 1
/ \ / \ / \ / \ / \
1 5 10 10 5 1
各行をリストと見なし、generatorを書いて、次の行のリストを出力し続けます.
正しい実践:
def triangles
L=[1]
while True:
yield L # list
L=[L[x]+L[x+1] for x in range(len(L)-1)] #
L.insert(0,1) # 1
L.append(1) # 1
if len(L)>10: # 10
break
正しい実践:
L = [1]
while True:
yield L
L = [1] + [x + L[i+1] for i,x in enumerate(L[:-1]) ] + [1]
エラーの実践:
def triangles():
L = [1]
while True:
yield L
L = [1] + [L[i] + L[i+1] for i in enumerate(L[:-1])] + [1]
L = [1] + [L[i] + L[i+1] for i in enumerate(L[:-1])] + [1]
TypeError: list indices must be integers or slices, not tuple