Pythonでパスカルの三角形を表示する

Pythonでパスカルの三角形を作成しようとしたら、たったの4行でできてしまいました。このためには、SymPyモジュールのbinomial_coefficients_list関数と、リストをつなげて表示するjoinメソッドと、リストをまとめて変換するmap関数の合わせ技を使います。また、center()メソッドにより中央揃えすることができます。

import sympy
for i in range(10):
    l=sympy.binomial_coefficients_list(i)
    print('  '.join(map(str,l)).center(100))
                                                 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                                

3行目のbinomial_coefficients_list関数では、パスカルの三角形の i 段目を数字を要素とするリストで表示します。4行目のioinメソッドはリストの内容をつなげて表示しますが、リストの要素は文字列である必要があります。このために、nap関数とstr関数を組み合わせリストの要素を文字列に変換します。また、.center(100)でセンタリングしてくれます。

この記事を書いた人

目次
閉じる