python如何让有20个字符倒三角形居中

如题所述

居中的杨辉三角
python实现居中的杨辉三角

晒冷-
原创
关注
7点赞·6152人阅读
先来看一下普通的杨辉三角,代码和输出是长成这样
def YangHui(n):
print([1])
line = [1,1]

for i in range(2,n):
r = []
for j in range(0,len(line) - 1):
r.append(line[j] + line[j + 1])
line = [1] + r + [1]
print(line)

if __name__ == '__main__':
YangHui(5)
登录后复制

输出:

那么如何输出形如

的杨辉三角呢?很自然的就是想到把上面的函数输出居中。
那么居中我们除了自己写循环加空格,python还有没有函数能完成呢?
答案是有的,不过只能将字符串的输出居中
Python center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。

center()方法语法:
str.center(width[, fillchar])
width – 字符串的总宽度。
fillchar – 填充字符。
演示代码:

mess = "Hello Word"
print("|",mess.center(30,'*'),"|")
print("|",mess.center(50,'*'),"|")
print("|",mess.center(50),"|")
登录后复制

详细参考:
center()方法
Python 输出字符串左对齐、右对齐、居中对齐
注意到原始的杨辉三角输出的是列表,为了能使用center()函数将输出居中,我们还需做一个工作:将数字列表转换成字符串
定义这样一个函数
温馨提示:答案为网友推荐,仅供参考
相似回答