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获取本地计算机名字的方法
Apr 29 Python
python实现清屏的方法
Apr 30 Python
分析用Python脚本关闭文件操作的机制
Jun 28 Python
KMP算法精解及其Python版的代码示例
Jun 01 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
python之cv2与图像的载入、显示和保存实例
Dec 05 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 Python
Python可视化神器pyecharts绘制水球图
Jul 07 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
将数组写入txt文件 var_export
2009/04/21 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
ajax 缓存 问题 requestheader
2010/08/01 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
Python的时间模块datetime详解
2017/04/17 Python
python图书管理系统
2020/04/05 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
Python 的AES加密与解密实现
2019/07/09 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
《猴子种树》教学反思
2014/02/14 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
考研复习计划
2015/01/19 职场文书
奖金申请报告模板
2015/05/15 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
入门学习Go的基本语法
2021/07/07 Golang