-6

こんにちは、私はこの演習で立ち往生しています。私はパスカルの三角形をやっていますが、十分に正しくないように見えるので、私の大学からのチェックプログラムはそれを受け入れます. def pascals_triangle(n)whereを使用する必要がありますn=8。私はそれを機能させることができますが、問題は出力にあります-私は配列を取得します...そのように:

[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]

また、定義では、各行を行列 P[64]の行に書き込む必要があり、空の場所は 0 にする必要があります。for ループを使用し、1 つの行の印刷コマンドを次のようにする必要があります。

print "%d %d %d %d %d %d %d %d" % (P[0],P[1],P[2],P[3],P[4],P[5],P[6],P[7],P[8])

何か案は?

4

1 に答える 1

0

あなたはこのようなものを見ていますか:

def pascal_iteration(n):
    rows = list()
    lr = None
    for i in range(n+1):
        try:
            lr = [1] + [lr[i] + lr[i+1] for i in range(len(lr) - 1)] + [1]
        except Exception:
            lr = [1]
        rows.append(' '.join(str(v) for v in lr))
    return rows

rows = pascal_iteration(8)
l = len(rows[-1])
print '\n'.join(v.center(l) for v in rows)

出力:

          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
于 2012-11-05T00:30:35.717 に答える