在python学习过程中会遇到各种问题,在本次学习过程中遇到一个小小的问题,就是用python输出一个菱形,怕以后忘记,故写此笔记以记之。
n = int(input("请输入n的值:"))
print("输出结果为:")
#总行数2n-1
for h in range(1,2*n):
# 菱形上半部分,
if h <= n:
s = n
#前半部分每行的空格数为n-h,h为第几行,如:第一行,空格数为4-1=3,第二行,空格数为4-2=2.
# 输出空格
while s > h:
print(" ",end="")
s -= 1
#每行的总星数为2h - 1, h为第几行,如第一行*的数量为2*1-1=1,第二行*的数量为2*2-1=3
for xing in range(0,2*h - 1):
print("*",end="")
print()
#菱形下半部分
elif h > n:
#输出空格,每行的空格数量为h-n,h为第几行,如第5行空格数量为5-4=1,第六行空格数量为6-4=2
print(" "*(h-n),end="")
# 输出*,在菱形中,中间行数*的数量为2n-1,下一行*的数量为2n-3,
# 故菱形下半部分*的数量总结规律为2n-(2(h-n)+1)
for xing in range(0,2*n - (2*(h-n)+1)):
print("*",end="")
print()