python基础练习题(题目 画菱形)
2021-07-06 00:06 第二个卿老师 阅读(256) 评论(0) 编辑 收藏 举报day15
---------------------------------------------------------------
实例022:画菱形
题目 打印出如下图案(菱形):。
*
***
*****
*******
*****
***
*
分析:一个循环控制高度,再分上下两部分输出,循环空格+*,代码如下,感觉有点多
1 a = input("请输入菱形的高度:") 2 h = int((int(a)+1)/2) 3 for i in range(1,int(a)+1): 4 if i <=h: 5 for j in range(h-i): 6 print(" ",end="") 7 for k in range(2*i-1): 8 print("*",end="") 9 if i>h: 10 for j in range(i-h): 11 print(" ",end="") 12 for k in range(2*(2*h-i)-1): 13 print("*",end="") 14 print()
看看答案:
1 def draw(num): 2 a="*"*(2*(4-num)+1) 3 print(a.center(9,' ')) 4 if num!=1: 5 draw(num-1) 6 print(a.center(9,' ')) 7 draw(4)
很汗颜,center方法返回一个指定宽度的字符串,默认已空格填充,理解起来颇有点费劲,看来递归有时确实好用。