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 strip()函数 介绍
May 24 Python
python映射列表实例分析
Jan 26 Python
python中requests模块的使用方法
Apr 08 Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
在Python中处理字符串之isdecimal()方法的使用
May 20 Python
用pandas按列合并两个文件的实例
Apr 12 Python
python读取和保存视频文件
Apr 16 Python
Jupyter中直接显示Matplotlib的图形方法
May 24 Python
对Python函数设计规范详解
Jul 19 Python
Python单元测试工具doctest和unittest使用解析
Sep 02 Python
python编写猜数字小游戏
Oct 06 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 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合并discuz用户脚本的方法
2015/08/04 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
超级退弹代码
2008/07/07 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
python使用htmllib分析网页内容的方法
2015/05/08 Python
python 连接sqlite及简单操作
2017/06/30 Python
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
Python中字符串List按照长度排序
2019/07/01 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python的pygame安装教程详解
2020/02/10 Python
python实现用户名密码校验
2020/03/18 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
法律工作求职自荐信
2013/10/31 职场文书
长江七号观后感
2015/06/11 职场文书
公司转让协议书
2016/03/19 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
理解python中装饰器的作用
2021/07/21 Python
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers