代码中有详细说明
在此,不再一一赘述。
直接上代码:`
#显示一个金字塔
# 先获得每行列表;
# 再汇总至总列表中;
# 最后按照处理字符串的方法,打印每行列表
#方法:str(g).strip("],[").center(len(str(lsAll[-1]).strip("],["))," ")
#方法说明:str(g).strip("],["),字符串.strip()去除列表两边中括号。
#.center(len(str(lsAll[-1]).strip("],["))," "),字符串.center()方法每行按照最大行长度,空格补齐
number = eval(input("输入行数:"))
lsAll = [] #存每行数列
for i in range(1,number+1):
ls = []
for j in range(i,0,-1):
ls.append(j)
for k in range(2,i+1):
ls.append(k)
lsAll.append(ls)
for g in lsAll: #打印金字塔,str(g).strip("],[")去除列表中括号变为字符串,使用字符串.center方法按照最大行长度补齐空格
print(str(g).strip("], [").center(len(str(lsAll[-1]).strip("], ["))," "))