python-循环-打印菱形图案
目标
不允许使用居中的功能
通过一个循环,完成菱形的输出
主要考查,循环知识,和简单的规纳算法能力
需求为
用户输入一个奇数
这个数,生成一个菱形
先画出菱形图
为了推出菱形的一些规律
可以先画出三个菱形作为参考
寻找规律
计算出左边行的公式
计算出每一行应出现的符号数
以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-循环-打印菱形图案相关推荐
- python语言打印菱形_Python 实现打印单词的菱形字符图案
Python 实现打印单词的菱形字符图案 我就废话不多说了,还是直接看代码吧! a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1] b = [' ' * 2 * ( ...
- java演练 循环嵌套 菱形图案的打印 四个阶段完成输出
java演练 循环嵌套 菱形图案的打印 阶段一,视频 https://www.ixigua.com/6870331861256634894/ 阶段一,数据分析 阶段二,视频 http://mp.tou ...
- Python——打印菱形图案(1)
题目: 不允许使用居中的功能 通过循环,完成菱形的输出 主要考查,循环知识,和简单的规纳算法能力 需求为: 用户输入一个数 生成一个对应行数的对称的菱形 代码展示: # ...
- 习题4-9 打印菱形图案 (15 分)
习题4-9 打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号& ...
- 花式打印菱形图案!!
(一).首先我们先来看最简单的打印5行5列 ***** ***** ***** ***** ***** 具体代码如下: /*** 双循环打印菱形图案* * A ** *** BBB * ** **** ...
- java打印菱形图案_java打印出菱形图案实例详解
第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...
- (Java) 实现打印菱形图案
Java 实现打印菱形图案 一.直接看效果图: 随便输入一个数字,然后会生成一个宽度为该数字的菱形: 二.首先先来看下,菱形的结构,由符号和空格组成,所以就用for循环来实现这样的效果,然后来看代码: ...
- 清晰思路带你掌握如何运用循环打印各种图案(新手向)
目录 一.简单介绍三种循环语句及使用时的注意事项(已学会的可跳过) 1.do语句 2.while语句 3.for语句 4.补充说明 二.打印图案的共性发现 三.循环打印直角三角形 四.另类思路打印其他 ...
- SCAU 1035 打印菱形图案
1035 打印菱形图案 时间限制:1000MS 代码长度限制:10KB 提交次数:4874 通过次数:3064 题型: 编程题 语言: G++;GCC Description 由键盘输入正数n(n&l ...
- php编辑菱形图案代码,打印菱形图案 (15 分)
打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"* ...
最新文章
- 蚂蚁金服-支付风险识别亚军方案!
- java 默认参数 实例化_如何使用Kotlin中的默认构造函数参数值实例化对象?
- C#将json字符串解析成对象
- 入门干货之用DVG打造你的项目主页-Docfx、Vs、Github
- Android 仪表盘
- 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)
- 炫酷科技感超前的电子产品发布广告海报psd分层模板,带给你炫酷的未来感
- C++新特性探究(十二):static_assert(提前判误)
- 找不到合适的创业路该怎么办
- 一张图读懂MVC设计模式,从用户发起请求到获取响应,应用内部到底是如何数据流转、业务串联的
- .h和.cpp文件的区别 .
- RedHat 5.6_x86_64 + ASM + RAW+ Oracle 10g RAC (六)
- Quartz-CronTrigger解读
- 高通MTK 安卓手机 手机更改SN 序列号 识别码 教程视频
- 万年历节日c语言,万年历C语言
- “蔚来杯“2022牛客暑期多校训练营5 A题: Don‘t Starve
- NOIP2012 提高组 Day 2
- Python 查找字符串内所有字符起始位置
- latex longtable 自动换行_TechRepo | LaTeX基本知识和应用
- 网线传输速度测试_网络带宽和速度测试windows和linux用iperf工具
热门文章
- Emlog插件:右下角添加不同时段问候语1.2
- python中factor函数_Python入门-函数
- 苹果CMS V8 电脑手机自适应电影模板
- Typecho浅色三栏主题
- HTML5 视频播放器 WordPress插件
- spring python负载均衡_Spring Cloud:使用Ribbon实现负载均衡详解(上)
- 云服务器,Linux上安装xampp,搭建node服务,云服务器Firewalld、iptables,nginx反向代理
- AMQP 和 RabbitMQ 入门
- 技术需求趋势报告:移动、社会化、电子商务最热
- JavaScript数据结构和算法简述——数组