1. 程式人生 > 其它 >python實現楊輝三角

python實現楊輝三角

"""
[1],
[1, 1],
[1, 2, 1],
[1, 3, 3, 1],
[1, 4, 6, 4, 1],
[1, 5, 10, 10, 5, 1]
"""
n = int(input("輸入2-15"))
sList = []

print([1])
print([1,1])

a = [1,1]
sList=[[1],[1,1]]

#從第三行開始 ,  for i in range(3):
for i in range(3,n+1):  #
    #每次都設定為空列表
    b = []
    #迴圈把數字新增到列表中, 新增的數字就是上一行的前兩個數字和
    for j in range(i-2):
        b.append(a[j] + a[j+1])        
    #最終結果 ,在左右兩邊各拼接一個1 
    a = [1] + b + [1]      #[1,2,1]
    print(a)
    sList.append(a)
  
for i in range(len(sList)):
    xList = sList[i]   #[1, 2, 1]
    
    print(((n-i)*5)//2*" ",end="")   #顯示每行數字前面的空格  空格越來越少
    
    for j in range(len(xList)):
        if len(str(xList[j])) >= 2:    #如果數字是兩位數,那麼數字和數字後面的空格一共五位
            print("{:<5d}".format(xList[j]),end="")
        else:
            print(xList[j],end=4 * " ")            
    print("")