使用for循环打印菱形

'''  '''之间和#之后表示注释,总代码分为四部分,分别为,打印实心菱形上三角,打印实心菱形下三角,打印空心菱形上三角,打印空心菱形下三角,可根据需求进行增删代码,代码如下:

 

w=eval(input("请输入菱形行数(奇数)"))
if w%2==0:
    w = eval(input("你输入的为偶数请重新输入菱形行数(奇数)"))

'''

菱形最中间一行最长,以最中间一行为分界线上下行数相等,所以菱形有奇数行,上方代码可以判断输入是否合法

'''


top_row=(w+1)//2      

#top_row表示上半部分行数


#打印实心菱形
#打印上半部分实心
for i in range(1,top_row+1):
    for j in range(1,top_row+1-i):
        print(end=" ")
    for k in range(1,i*2):
        print(end="*")
    print()
#打印下半部分实心
for i in range(1,top_row):
    for j in range(1,i+1):
        print(end=" ")
    for k in range(1,2*top_row-2*i):
        print(end="*")
    print()

#打印空心菱形
#打印上半部分空心
for i in range(1,top_row+1):
    for j in range(1,top_row+1-i):
        print(end=" ")
    for k in range(1,i*2):
        if k==1 or k==i*2-1:#在打印*时判断一下只在开头和末尾打印*
            print(end="*")
        else:
            print(end=" ")#剩余部分打印空格
    print()
#打印下半部分空心
for i in range(1,top_row):
    for j in range(1,i+1):
        print(end=" ")
    for k in range(1,2*top_row-2*i):
        if k==1 or k==2*top_row-2*i-1:
           print(end="*")
        else:
            print(end=" ")
    print()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值