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方法返回一个指定宽度的字符串,默认已空格填充,理解起来颇有点费劲,看来递归有时确实好用。

python基础练习题(题目 画菱形)的更多相关文章

  1. python基础练习题1

    深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python.加油! 01:求‘1-100’的偶数和 #第一种解法: sum=0 num=0 while nu ...

  2. python基础练习题(题目 画圈,学用circle画圆形。)

    day37 --------------------------------------------------------------- 实例056:画圈 题目 画图,学用circle画圆形. 分析 ...

  3. python基础练习题(题目 查找字符串。)

    day39 --------------------------------------------------------------- 实例061:查找字符串 题目 查找字符串. 分析:查找字符串 ...

  4. python基础练习题(题目 输出一个随机数。)

    day35 --------------------------------------------------------------- 实例050:随机数 题目 输出一个随机数. 分析:使用ran ...

  5. python基础练习题(题目 学习使用auto定义变量的用法)

    day28 --------------------------------------------------------------- 实例042:变量作用域 题目 学习使用auto定义变量的用法 ...

  6. python基础练习题(题目 文本颜色设置)

    day23 --------------------------------------------------------------- 实例035:设置输出颜色 题目 文本颜色设置. 分析:不会, ...

  7. python基础练习题(题目 斐波那契数列II)

    day16 --------------------------------------------------------------- 实例024:斐波那契数列II 题目 有一分数序列:2/1,3 ...

  8. python基础练习题(题目 三数排序。)

    day40 --------------------------------------------------------------- 实例066:三数排序 题目 输入3个数a,b,c,按大小顺序 ...

  9. python基础练习题(题目 打印出杨辉三角形前十行。)

    day38 --------------------------------------------------------------- 实例061:杨辉三角 题目 打印出杨辉三角形前十行. 分析: ...

随机推荐

  1. CVE-2015-5531(目录遍历漏洞)

    vulhub漏洞环境搭建 https://blog.csdn.net/qq_36374896/article/details/84102101 启动docker环境 cd vulhub-master/ ...

  2. my file server1

    环境配置 先导入虚拟机 设置网路为NAT,扫描iP netdiscover -r 192.168.164.0/24 靶机ip:192.168.164.183 kali:192.168.164.137 ...

  3. JS如何通过月份,计算月份相差几个月

    1 var tr = ''; 2 <script> 3 $.each(data, function (index, item) { 4 let startTime = new Date(i ...

  4. Oracle 数据库应用开发 30 忌

    原创 LaoYuanPython CSDN 今天 作者 | LaoYuanPython       责编 | 欧阳姝黎出品 | CSDN原力计划 引言 笔者及所在团队从 2000 年开始的 CRM 等 ...

  5. 创建自定义ClassLoader,绕过双亲委派

    1.什么是类加载 通过javac将.java文件编译成.class字节码文件后,则需要将.class加载到JVM中运行,哪么是谁将.class加载到JVM的呢?那就是类加载器啦. 2.类加载器类型 B ...

  6. 如何处理异形屏iphone X?

    safe area: 默认放置在安全区域以避免遮挡, 但会压缩 在meta中添加viewport-fit=cover: 告诉浏览器要讲整个页面渲染到浏览器中,不管设备是圆角与否,这个时候会造成页面的元 ...

  7. springboot监听kafka(不使用spring-kafka)

    一.不使用spring-kafka的原因 kafka服务端版本为0.10.0.1-Ipv20191220-hbp2.1.0,为避免版本问题导致监听失败,客户端也采用0.10.0.1版本,客户端0.10 ...

  8. java-spring

    Spring-IOC ioc概念 控制反转 把对象创建和对象之间的调用过程,交给Spring 进行管理. 目的就是,为了降低耦合度,因为当你想在一个类当中调用另外一个类的方法,你需要获得另外一个类的实 ...

  9. java-面向对象相关

    public class DemoMethodOverload { public static void main(String[] args) { int[] array = new int[]{1 ...

  10. 什么是编织(Weaving)?

    为了创建一个 advice 对象而链接一个 aspect 和其它应用类型或对象,称为编 织(Weaving).在 Spring AOP 中,编织在运行时执行.