python输出数字倒三角形(怎么用python打出倒三角)
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()函数将输出居中,我们还需做一个工作:将数字列表转换成字符串
定义这样一个函数
在python中用while语句打印出倒三角形
#打印倒立的正三角形
hang = int(input("请输入行数:"))
y = 1
while y = hang:
space = 1
while space y:
print(" ",end="")
space += 1
x = hang - y
while x = 0:
print("* ",end="")
x -= 1
print()
y += 1
print("图形打印完成!")
Python实现输出“倒三角形”
输入正整数 n = 20, 输出一个n层的倒三角形。例如,n = 5时输出如下:
分析题目找到规律,每一层输出的 # 号的个数为 2n-1,而空格的个数为 n-层数
str为字符串
str.isalnum() 所有字符都是数字或者字母
str.isalpha() 所有字符都是字母
str.isdigit() 所有字符都是数字
str.islower() 所有字符都是小写
str.isupper() 所有字符都是大写
str.istitle() 所有单词都是首字母大写,像标题
str.isspace() 所有字符都是空白字符、\t、\n、\r