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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python探索之创建二叉树
Oct 25 Python
Python AES加密实例解析
Jan 18 Python
使用Python将Mysql的查询数据导出到文件的方法
Feb 25 Python
python lxml中etree的简单应用
May 10 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
Python中os模块功能与用法详解
Feb 26 Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
Python ORM框架Peewee用法详解
Apr 29 Python
python不同系统中打开方法
Jun 23 Python
python中数字是否为可变类型
Jul 08 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正确解析UTF-8字符串技巧应用
2012/11/07 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
如何编写jquery插件
2017/03/29 jQuery
详解vue-router基本使用
2017/04/18 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
python多线程抽象编程模型详解
2019/03/20 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
应届专科生个人的自我评价
2014/01/05 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
辛亥革命观后感
2015/06/02 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
详解Vue的options
2021/05/15 Vue.js
nginx实现动静分离的方法示例
2021/11/07 Servers
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB