練習問題_3_9(パスカルの三角形)
これもいろいろな解答例があると思います。結果が合っていればOKです。
def pascals_triangle(n):
"""パスカルの三角形のlist作成
引数 n: 自然数
戻り値: n行目までのパスカルの三角形のlist
"""
if isinstance(n, int) and (n >= 1):
result = []
for i in range(n):
if i == 0:
ls = [1]
else: # i != 0
ls = [0] + ls + [0]
lsn = []
for j in range(1, len(ls)):
lsn.append(ls[j-1]+ls[j])
ls = lsn
result.append(ls)
return result
else: #引数nが自然数ではない
print('引数には自然数を使用してください')
return None
pascals_triangle(7)
[[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]]