其實,在高中我們就學過楊輝三角,他的原理就是乙個數列元素的值對應上乙個相應數列元素(就是索引相同)的值加上前面乙個數列元素的值!
def
traingle
(x):
#需要列印第幾行的**
x =int(x)
traingle_list =
if x ==1:
traingle_list =[1
]elif x ==2:
traingle_list =[1
,1]else
: traingle_list_temp = traingle(x-1)
#獲取上一行三角列表
traingle_list =[1
,1] temp =
1while temp <= x-2:
traingle_list.insert(temp,traingle_list_temp[temp]
+traingle_list_temp[temp-1]
) temp +=
1return traingle_list
for i in
range(9
):#需要列印多少行的楊輝三角
print
(traingle(i+1)
)#[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]
這裡運用了遞迴的想法!可以多閱讀下** !
若有不對的地方還請大佬指導!
用python實現楊輝三角和倒楊輝三角
因為我只有c的基礎所以很多東西是生辦過來的,方法可能有些笨,請諒解。不說了直接附上 import numpy as np 整形輸入 n int input 根據輸入大小來建立矩陣 x,y n,2 n 1 生成全零的numpy矩陣 a np.zeros x,y dtype int 根據規律填數 for...
python楊輝三角 楊輝三角I II
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...
用python寫楊輝三角
先定義階層函式,求出階層 deffact n if n 0 return int 1 else return int n fact n 1 再定義組合函式,求出組合c n,m 的值 defcom n,m return fact n fact m fact n m 呼叫cum函式,輸出結果 i int...