目标

不允许使用居中的功能

通过一个循环,完成菱形的输出

主要考查,循环知识,和简单的规纳算法能力

需求为

用户输入一个奇数

这个数,生成一个菱形

先画出菱形图

为了推出菱形的一些规律

可以先画出三个菱形作为参考

寻找规律

计算出左边行的公式

计算出每一行应出现的符号数

以7行为例

代码的框架

单循环

# 初步目标:完成五行的菱形
# 终级目标,任意奇数行的实现# 中间行
mid_num = (5+1)/2  # 3# i从0到4
def print_line(i):""":param i: 行的索引。 第1行,i为0。第2行,i为1:return:"""# 当传入的参数为0的时候,期望 有2个空格,1个符号current_num = i + 1  # 当前行space_num = get_space_num(current_num)  # 空格的数量start_num = get_start_num(current_num)  # 星花的数据space = " "*space_num  # 应有的空格数start = "*"*start_num  # 星花应有的数量# print(space+start)print("当前第{}行,行索引{},有{}个左空格,有{}个星星".format(current_num, i, space_num, start_num))def get_space_num(current_num):"""根据行的索引,获取空格应有的数量"""# mid_num - 当前行号# 当i 为 0的时候,只需要返回2就可以了# 当i 为1 的时候,返回1# print(i)num = mid_num - current_numreturn int(abs(num))def get_start_num(current_num):"""根据当前的行号,返回应该输出几个星星"""num = 0  # 输出星星的数量return numdef main(num=5):print("主逻辑,打印行数", num)for i in range(num):# print(i)print_line(i)if __name__ == '__main__':main(5)# print_line(0)# res = get_space_num(5)# print(res)

双层嵌套循环

def main(num):# 计数器counter = 0# 中间行mid_num = (num+1)/2while counter < num:counter += 1# print(counter)  # 打印行号# 遍历打印每一行# 计算空格的数量space_num = int(abs(mid_num-counter))# 计算星星的数量start_num = num - 2*space_num# print("第{}行,{}空格,{}星星".format(counter, space_num, start_num))# space_str = " "*space_numinner_count = 0start_str = "*"*start_num# line_str = space_str+start_str# print(line_str)m = 0while m < space_num:print(" ", end="")m += 1n = 0while n < start_num:print("*", end="")n += 1print()if __name__ == '__main__':main(5)

python-循环-打印菱形图案相关推荐

  1. python语言打印菱形_Python 实现打印单词的菱形字符图案

    Python 实现打印单词的菱形字符图案 我就废话不多说了,还是直接看代码吧! a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1] b = [' ' * 2 * ( ...

  2. java演练 循环嵌套 菱形图案的打印 四个阶段完成输出

    java演练 循环嵌套 菱形图案的打印 阶段一,视频 https://www.ixigua.com/6870331861256634894/ 阶段一,数据分析 阶段二,视频 http://mp.tou ...

  3. Python——打印菱形图案(1)

    题目: 不允许使用居中的功能         通过循环,完成菱形的输出         主要考查,循环知识,和简单的规纳算法能力 需求为: 用户输入一个数 生成一个对应行数的对称的菱形 代码展示: # ...

  4. 习题4-9 打印菱形图案 (15 分)

    习题4-9 打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号& ...

  5. 花式打印菱形图案!!

    (一).首先我们先来看最简单的打印5行5列 ***** ***** ***** ***** ***** 具体代码如下: /*** 双循环打印菱形图案* * A ** *** BBB * ** **** ...

  6. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

  7. (Java) 实现打印菱形图案

    Java 实现打印菱形图案 一.直接看效果图: 随便输入一个数字,然后会生成一个宽度为该数字的菱形: 二.首先先来看下,菱形的结构,由符号和空格组成,所以就用for循环来实现这样的效果,然后来看代码: ...

  8. 清晰思路带你掌握如何运用循环打印各种图案(新手向)

    目录 一.简单介绍三种循环语句及使用时的注意事项(已学会的可跳过) 1.do语句 2.while语句 3.for语句 4.补充说明 二.打印图案的共性发现 三.循环打印直角三角形 四.另类思路打印其他 ...

  9. SCAU 1035 打印菱形图案

    1035 打印菱形图案 时间限制:1000MS 代码长度限制:10KB 提交次数:4874 通过次数:3064 题型: 编程题 语言: G++;GCC Description 由键盘输入正数n(n&l ...

  10. php编辑菱形图案代码,打印菱形图案 (15 分)

    打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"* ...

最新文章

  1. 蚂蚁金服-支付风险识别亚军方案!
  2. java 默认参数 实例化_如何使用Kotlin中的默认构造函数参数值实例化对象?
  3. C#将json字符串解析成对象
  4. 入门干货之用DVG打造你的项目主页-Docfx、Vs、Github
  5. Android 仪表盘
  6. 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)
  7. 炫酷科技感超前的电子产品发布广告海报psd分层模板,带给你炫酷的未来感
  8. C++新特性探究(十二):static_assert(提前判误)
  9. 找不到合适的创业路该怎么办
  10. 一张图读懂MVC设计模式,从用户发起请求到获取响应,应用内部到底是如何数据流转、业务串联的
  11. .h和.cpp文件的区别 .
  12. RedHat 5.6_x86_64 + ASM + RAW+ Oracle 10g RAC (六)
  13. Quartz-CronTrigger解读
  14. 高通MTK 安卓手机 手机更改SN 序列号 识别码 教程视频
  15. 万年历节日c语言,万年历C语言
  16. “蔚来杯“2022牛客暑期多校训练营5 A题: Don‘t Starve
  17. NOIP2012 提高组 Day 2
  18. Python 查找字符串内所有字符起始位置
  19. latex longtable 自动换行_TechRepo | LaTeX基本知识和应用
  20. 网线传输速度测试_网络带宽和速度测试windows和linux用iperf工具

热门文章

  1. Emlog插件:右下角添加不同时段问候语1.2
  2. python中factor函数_Python入门-函数
  3. 苹果CMS V8 电脑手机自适应电影模板
  4. Typecho浅色三栏主题
  5. HTML5 视频播放器 WordPress插件
  6. spring python负载均衡_Spring Cloud:使用Ribbon实现负载均衡详解(上)
  7. 云服务器,Linux上安装xampp,搭建node服务,云服务器Firewalld、iptables,nginx反向代理
  8. AMQP 和 RabbitMQ 入门
  9. 技术需求趋势报告:移动、社会化、电子商务最热
  10. JavaScript数据结构和算法简述——数组