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中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
在python3.5中使用OpenCV的实例讲解
Apr 02 Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 Python
python系列 文件操作的代码
Oct 06 Python
解决Python使用列表副本的问题
Dec 19 Python
Python递归实现打印多重列表代码
Feb 27 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
利用python绘制数据曲线图的实现
Apr 09 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
Django如何与Ajax交互
Apr 29 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
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
json简单介绍
2008/06/10 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python判断字符串是否包含子字符串的方法
2015/03/24 Python
jupyter安装小结
2016/03/13 Python
Python字符串切片操作知识详解
2016/03/28 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
python爬虫实例详解
2018/06/19 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
如何表示python中的相对路径
2020/07/08 Python
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
出纳员岗位责任制
2014/02/11 职场文书
合伙经营协议书
2014/04/18 职场文书
社区两委对照检查材料
2014/08/23 职场文书
学校运动会报道稿
2014/09/23 职场文书
新党章的学习心得体会
2014/11/07 职场文书
2015年见习期工作总结
2014/12/12 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS