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三元运算符实现方法
Dec 17 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
Django Highcharts制作图表
Aug 27 Python
python实现感知器算法详解
Dec 19 Python
Python配置虚拟环境图文步骤
May 20 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
Django微信小程序后台开发教程的实现
Jun 03 Python
python怎么提高计算速度
Jun 11 Python
Python logging日志模块 配置文件方式
Jul 12 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 Python
解决numpy和torch数据类型转化的问题
May 23 Python
Python实现抖音热搜定时爬取功能
Mar 16 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生成带有雪花背景的验证码
2006/10/09 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
浅析php原型模式
2014/11/25 PHP
php动态绑定变量的用法
2015/06/16 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
使用python实现baidu hi自动登录的代码
2013/02/10 Python
python获取糗百图片代码实例
2013/12/18 Python
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
详解Python中的文本处理
2015/04/11 Python
python链接Oracle数据库的方法
2015/06/28 Python
python调用fortran模块
2016/04/08 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
python实现梯度下降法
2020/03/24 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
网络工程师自荐书范文
2014/04/01 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
小学运动会口号
2014/06/07 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
Python面试不修改数组找出重复的数字
2022/05/20 Python
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers