1、正金字塔
如图:
代码如下:
level=int(input("请输入行数:"))
# 方式一:
for current_level in range(1,level+1):
#控制空格个数
for i in range(level-current_level):
print(' ',end='')
#控制*个数
for j in range(2*current_level-1):
print('*',end='')
print()
#方式二:
for i in range(1,level+1):
print(
' '*(level-i)+'*'*(2*i-1)
)
2、倒金字塔
如图所示:
代码如下:
level=int(input("输入行数:"))
#方法1
for current_level in range(0,level):
#控制空格个数
for i in range(current_level+1):
print(' ',end='')
#控制*个数
for j in range(level-2*current_level):
print('*',end='')
print()
#方法2
for i in range(level):
print(' '*i+'*'*(level-2*i))
此两种方法有缺陷,行数只能输入奇数,输入偶数会出现少行的现象。如图所示:
优化代码如下:
#与正金字塔相对应
for i in range(level):
print(' '*i+'A'*(2*level-2*i-1))
测试结果如下: