利用 Python 输出菱形

在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()

利用 Python 输出菱形_第1张图片
代码写的较乱,较差,待日后技艺精进再来修改。
如有错误,敬请指正,谢谢!

你可能感兴趣的:(Python)