Pythonでパスカルの三角形

Pythonパスカルの三角形を書いてみました。
再帰を使うととっても簡潔に書けますね。

def pascal(x, y):
if(x == 1 or x == y):
return 1
else:
return pascal(x - 1, y - 1) + pascal(x, y - 1)

def line(n):
    a = []
    for i in range(n):
        a.append(pascal(i, n))
    return a

for i in range(10):
    print line(i+1)

実行結果

[1]
[1, 2]
[1, 3, 3]
[1, 4, 6, 4]
[1, 5, 10, 10, 5]
[1, 6, 15, 20, 15, 6]
[1, 7, 21, 35, 35, 21, 7]
[1, 8, 28, 56, 70, 56, 28, 8]
[1, 9, 36, 84, 126, 126, 84, 36, 9]
[1, 10, 45, 120, 210, 252, 210, 120, 45, 10]