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 元组(Tuple)操作详解
Mar 11 Python
wxpython中利用线程防止假死的实现方法
Aug 11 Python
python实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
python logging类库使用例子
Nov 22 Python
介绍Python的@property装饰器的用法
Apr 28 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
Flask框架web开发之零基础入门
Dec 10 Python
django框架模板中定义变量(set variable in django template)的方法分析
Jun 24 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 Python
python实现人性化显示金额数字实例详解
Sep 25 Python
python 爬取华为应用市场评论
May 29 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记录日志的实现代码
2011/08/08 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
在Python的web框架中配置app的教程
2015/04/30 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
python如何绘制疫情图
2020/09/16 Python
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
数字漫画:comiXology
2020/06/13 全球购物
社区综治宣传月活动总结
2014/07/02 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
信用卡工资证明格式
2014/09/13 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript