利用 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()

在这里插入图片描述
代码写的较乱,较差,待日后技艺精进再来修改。
如有错误,敬请指正,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值