パスカルの三角形python--

1.定義:

 

 

2、精細印刷に基づきます

- * -コーディング:UTF-8 - * - バージョン:python3.7 

N- = 6。
トライアングル = [1]、[1,1 ]
 のための I における(N-2)範囲:      #は、最初の2行で説明しましたしたがって残りの行のための 
    [1] CUR =             #は、各要素行の最初の定義は 
    事前トライアングル= -I 1。]   線上
     J における範囲(1-I):#1 カウント時間が 
        cur.append(プレ[J ] + [J +を事前1。])
    cur.append( 1 
    triangle.append(CUR)
プリント(三角)

の結果を:
[[1]、[1,1]、[1、2、1]、[1、3、3、1]、[1、4、6、4、1]、[1、5、10、10、5、 1]]
- * -コーディング:UTF-8 - * - バージョン:python3.7 

N = 6 
三角形 = []
 のための I における範囲(N):
    CUR = [1 ] 
    triangle.append(CUR)#先追加进去
    もし私== 0:
         続ける
    プリ =三角形[I-1 ]
     のための J における範囲(I-1 ):
        cur.append(予備[J] +プレ[J + 1 ])
    cur.append( 1 プリント(三角形)

 

3,0アップ印刷法

- * -コーディング:UTF-8 - * - バージョン:python3.7 

N = 6 
三角形 = [1]、[1,1 ]
 のための I における範囲(2 、N):
    newrow =三角形[1- 1 ] 
    newrow.append(0) = [なし] *(I + 1)    开辟空间
     J における範囲(I + 1 
        行[J] = newrow [J-1] + newrow [J] 
    三角形。追記(行)
印刷(三角形)

执行结果:
[ 1]、[1、1、0]、[1、2、1、0]、[1、3、3、1、0]、[1、4 、6、4、1、0]、[1、5、10、10、5、1]]

 

図4に示すように、印刷の対称性(指数)

 

 

- * -コーディング:UTF-8 - * - 版:python3.7 

N- = 6 
トライアングル = [[1]、[1,1 ]
 のための I におけるレンジ(2 、N-): = [1] * (I + 1 のための J での範囲(I // 2 ):#が図知ら:臨界値の半分、そして慎重に精査について
        ヴァル =トライアングル[J] +トライアングル[-I 1。] [[1-I。] 1 + J ] 
        ロウ[J + +1] = ヴァル
        ロウ[I -J- 1] =。ここでヴァル番号法:私は2つの等しい対称インデックス値
    triangle.append(行)
印刷(三角)

実行結果:
[ [1]、[1,1]、[1、2、1]、[1、3、3、1]、[1、4、6、4、1]、[1、5、10、10、5、 1]]

 

5、単一のリストをカバーし、スライスが完了しています

- * -コーディング:UTF-8 - * - 版:python3.7 

N = 6  = [1] * N
 のための I におけるレンジ(N):    nは、n行目 
    旧= 1                   古い先頭1 
    以下のための J での範囲(I // 2 ):
        ヴァル = +古い行[J + 1。]  =行[J + 1]    値の行[J + 1]が古いに割り当てられている、ここでは今、防ぐために覆われています 
        行[J + 1] = ヴァル
         IF = I 2 *!J:
            行[I -J- 1] = ヴァル
プリント(行[た:i + 1])
結果
[1]
[1、1]
[1、2、1]
[1、3、3、1]
[1、4、6、4、1]
[1、5、10、10、5、1 ]

 

おすすめ

転載: www.cnblogs.com/zyybky/p/12598095.html