用python写杨辉三有形

n=int(input("
请输入数字:
"))
intlist=[[0 for i in range(n)] for j in range(n)]           #列表推导式,生成一个n行n列的二维列表
for i in range(n):                                          #遍历列表,如果是周边元素,或者每行的第一个元素为1
    for j in range(i+1):
        if i==j or j==0:
            intlist[i][j]=1                                  
        else:
            intlist[i][j]=intlist[i-1][j-1]+intlist[i-1][j]  #其余元素是上一行相邻两个元素之和
for i in range(n):                                           #控制打印列表,使其以等腰三角形的形状打印  
     for k in range(n-i+5):
            print("   ",end='')
     for j in range(i+1):
        print("{:<-6d}".format(intlist[i][j]),end='')
     print()

  

原文地址:https://www.cnblogs.com/wumac/p/12038902.html