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 ]