Python打印“菱形”星号代码

本文介绍了一个简单的Python程序,用于在控制台打印出菱形图案。通过定义两个函数,实现对输入数字的验证,并使用循环和字符串操作来创建所需的菱形形状。
小计

本人是一名python初学者,刚刚看到一道有趣的python问题,“用python如何在编译器中打印出菱形图案?”
因此决定尝试一下,代码不多,仅供参考。
代码
def printStar(intNum):               # 打印星号
    s = "*"
    spaceLength = intNum             # 空间长度(循环打印次数)
    blockCount = int(intNum/2+1)     # 第一个星号左边的空格数

    for i in range(spaceLength):     # 开始循环并打印
        result = s.rjust(blockCount) # rjust(i)方法:设定一个字符串长度i,不足则向左填充空格
        if i >= int(spaceLength/2):  # 菱形下方
            print(result)
            s = s[2:]
            blockCount -= 1
        else:                        # 菱形上方
            print(result)
            s = s+(2*"*")
            blockCount += 1


def oddOReven(intNum):               # 判断是否是奇数(偶数打印六边形,非菱形)

    if intNum%2 == 0:                
        print("please input a odd num data!!!")
    else: 
        printStar(intNum)

if __name__ == '__main__':
    
    while True:
        try:
            intNum = eval(input("please input a odd num data\n"))
            oddOReven(intNum)
        except BaseException as e:
            print("Please input as 1/2/3... Errorcode:%s" % e)

            
            
运行结果:

clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值