n=int(input("\n请输入数字:\n"))
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