Python 使用双重循环打印图形菱形操作


Posted in Python onAugust 09, 2020

如下所示:

Python 使用双重循环打印图形菱形操作

a = int(input("请输入菱形行数:"))
m = a #空格
d = a #倒三角
for i in range(1, a + 1): # 先打印正三角
 print(" " * (m - 1), "*" * (2 * i - 1)) #2个*参数: 第一个是:空格 第二个是: *根据规律组成
 m -= 1
 if i == a: # 临界点,开始打印倒三角
 for y in range(1, a):
  print(" " * y, "*" * (2*d-3)) #2个*参数: 第一个是:空格 第二个是: *根据规律组成
  d -= 1 #设置-1

Python 使用双重循环打印图形菱形操作

a=4 #指定行数
b=a #空格
c=a #倒三角
for i in range(1,a+1):
 print(" " * (b - 1), "%d" %b * (2 * i - 1))
 b-=1
 if i==a: # 临界点,开始打印倒三角
 for y in range(1,a):
  print(" " * y, "%d" %(y+1) * (2 * c - 3))
  c-=1

Python 使用双重循环打印图形菱形操作

a = int(input("请输入菱形行数:"))
m = a #空格
d = a #倒三角
print(" " * (a - 1), "*") #第一个是:空格, 第二个是:打印一个*
for i in range(2, a + 1): # 先打印正三角
 print(" " * (m - 1) + "*" + " " * (2 * i - 3) + "*") #1个*参数: 第一个是:空格和*根据规律组成
 m -= 1
 if i == a: # 临界点,开始打印倒三角
 for y in range(2, a):
  print(" " * y + "*" + " " * (2 * d - 5) + "*") #1个*参数: 第一个是:空格和*根据规律组成
  d -= 1 #设置-1
 print(" "*a+"*") #打印最后一个*

补充知识:使用Python打印一些图形,主要是找到循环规律

打印菱形

Python 使用双重循环打印图形菱形操作

a = int(input())
e = a//2
for i in range(e,-1,-1):
  print(' '*i,'*'*(a-2*i), ' '*i)
for i in range(1,e+1):
  print(' '*i,'*'*(a-2*i), ' '*i)

改进版本,找到规律,使用abs函数

a = int(input('>>>'))
e = a // 2
for i in range(-e, e+1):
  j = abs(i)
  print(' '*j + '*'*(a-j*2) + ' '*j)

打印对顶三角

Python 使用双重循环打印图形菱形操作

a = int(input('>>>'))
e = a//2
for i in range(e+1):
  print(' '*i, (a - i*2)*'*', ' '*i, sep='')
for i in range(1, e+1):
  print(' ' * (e-i), (i * 2 + 1) * '*', ' ' * (e-i), sep='')

倒三角的打印,可以不用考虑*后面的空格,其实可以简化

a = int(input('>>>'))
e = a // 2
for i in range(-e, e+1):
  j = abs(i)
  print(' ' * (e-j) + '*' * (j * 2 + 1))

打印一道闪电:

Python 使用双重循环打印图形菱形操作

按照最笨的思路分三部分打印

a = int(input('>>>'))
e = a // 2
for i in range(-e, 0):
  print(' ' * abs(i) + '*' * (a - e - abs(i)))
print('*' * a)
for i in range(1, a-e):
  print(' ' * e + '*' * (a - e - i))

稍作改进

a = int(input('>>>'))
e = a // 2
for i in range(-e, a-e):
  if i < 0:
    print(' ' * abs(i) + '*'*(a - e - abs(i)))
  elif i > 0:
    print(' ' * e + '*' * (a - e - i))
  else:
    print('*' * a)

打印正方形

for i in range(n):
  sepTop += '\t*'
  sepMid += '\t'
else:
  sepMid += '*'
  print(sepTop)
 
for i in range(n-1):
  print('\n')
  print(sepMid)
else:
  print('\n')
  print(sepTop)
 
print('=====================================')
e = -n//2
for i in range(e,n+e):
  if i == e or i == n+e-1:
    print('*'*n)
  else:
    print('*'+' '*(n-2)+'*')
print('=====================================')

以上这篇Python 使用双重循环打印图形菱形操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
理解Python中的With语句
Mar 18 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
Aug 31 Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 Python
python3 深浅copy对比详解
Aug 12 Python
Django发送邮件功能实例详解
Sep 02 Python
tensorflow 获取所有variable或tensor的name示例
Jan 04 Python
pytorch forward两个参数实例
Jan 17 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 Python
Python如何安装第三方模块
May 28 Python
Python常见反爬虫机制解决方案
Jun 01 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
Python 添加文件注释和函数注释操作
Aug 09 #Python
vscode配置anaconda3的方法步骤
Aug 08 #Python
Pycharm调试程序技巧小结
Aug 08 #Python
Python 在局部变量域中执行代码
Aug 07 #Python
Python如何创建装饰器时保留函数元信息
Aug 07 #Python
python的launcher用法知识点总结
Aug 07 #Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 #Python
You might like
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
PHP中的日期及时间
2006/11/23 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
js tab 选项卡
2009/04/26 Javascript
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
python统计日志ip访问数的方法
2015/07/06 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Python Django 命名空间模式的实现
2019/08/09 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
python 实现客户端与服务端的通信
2020/12/23 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
大学生入党自我鉴定
2013/10/31 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
个人债务授权委托书
2014/10/17 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle