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("")

  

原文地址:https://www.cnblogs.com/jayxuan/p/15598714.html