Python基础练习题:画菱形

题目 打印出如下图案(菱形):。

    *

   ***

  *****

 *******

  *****

   ***

    *

分析:一个循环控制高度,再分上下两部分输出,循环空格+*,代码如下,感觉有点多

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = input("请输入菱形的高度:")
h = int((int(a)+1)/2)
for i in range(1,int(a)+1):
    if i <=h:
        for j in range(h-i):
            print(" ",end="")
        for k in range(2*i-1):
            print("*",end="")
    if i>h:
        for j in range(i-h):
            print(" ",end="")
        for k in range(2*(2*h-i)-1):
            print("*",end="")
    print()

答案:

def draw(num):
    a="*"*(2*(4-num)+1)
    print(a.center(9,' '))
    if num!=1:
        draw(num-1)
        print(a.center(9,' '))
draw(4)

很汗颜,center方法返回一个指定宽度的字符串,默认已空格填充,理解起来颇有点费劲,看来递归有时确实好用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值