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使用Flask框架获取当前查询参数的方法
Mar 21 Python
Python使用Scrapy保存控制台信息到文本解析
Dec 27 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 Python
在pycharm中实现删除bookmark
Feb 14 Python
django正续或者倒序查库实例
May 19 Python
Python如何向SQLServer存储二进制图片
Jun 08 Python
python线性插值解析
Jul 05 Python
Python如何实现大型数组运算(使用NumPy)
Jul 24 Python
Django返回HTML文件的实现方法
Sep 17 Python
python pillow库的基础使用教程
Jan 13 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
安装APACHE
2007/01/15 PHP
php获取远程文件大小
2015/10/20 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python实现控制台进度条功能
2016/01/04 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
替换python字典中的key值方法
2018/07/06 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
使用python实现滑动验证码功能
2019/08/05 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
毕业生文员求职信
2013/11/03 职场文书
教师推荐信范文
2013/11/24 职场文书
学习十八大报告感言
2014/02/28 职场文书
信访工作汇报材料
2014/10/27 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js