def shape_print(n):

#实心等腰三角形

for y in range(n):

for x in range(n-y-1):#先循环打印空格 形成一个倒直角三角形 range()中的值是形成的规律

print(' ',end='')

for z in range(y*2+1):#再循环打印X 形成一个等腰三角形 range()中的值是形成的规律

print('X',end='')

print()

print()#间隔

#空心等腰三角形

for y in range(n):

for x in range(n-y-1):#先循环打印空格 形成一个倒直角三角形 range()中的值是形成的规律

print(' ',end='')

for x in range(1):#再循环打印左腰边

print('X',end='')

for z in range(y*2-1):#再循环打印内部空格 形成内部的等腰三角形 range()中的值是形成的规律

if y

print(' ',end='')

for x in range(1):#再循环打印右腰边

if 0

print('X',end='')

if y==n-1:#再循环打印底边

print('X'*y*2,end='')

print()

print()

#实心菱形

solid_diamond=['' for y in range(n*2-1)]#由于菱形上下两部分相同 用列表的方法

for y in range(n):

for x in range(n-y-1):#先循环打印空格 形成一个倒直角三角形

solid_diamond[y]+=' '

for z in range(y*2+1):#再循环打印X 形成一个等腰三角形

solid_diamond[y]+='X'

solid_diamond[-y-1]=solid_diamond[y]#下半部分等于上半部分

for y in range(n*2-1):#打印实心菱形

print(solid_diamond[y])

print()

#空心菱形

hollow_diamond=['' for y in range(n*2-1)]#由于菱形上下两部分相同 用列表的方法

for y in range(n):

for x in range(n-y-1):#先循环打印空格 形成一个倒直角三角形

hollow_diamond[y]+=' '

for x in range(1):#再循环打印左腰边

hollow_diamond[y]+='X'

for z in range(y*2-1):#再循环打印内部空格 形成内部的等腰三角形

if y

hollow_diamond[y]+=' '

for x in range(1):#再循环打印右腰边

if 0

hollow_diamond[y]+='X'

if y==n-1:#再循环打印底边

hollow_diamond[y]+=' '*(y*2-1)+'X'

hollow_diamond[-y-1]=hollow_diamond[y]#下半部分等于上半部分

for y in range(n*2-1):#打印实心菱形

print(hollow_diamond[y])

print()

#实心梯形

solid_trapezium=[['X' for x in range(n*3)] for y in range(n)]#由于梯形近似矩形 用列表的方法

for y in range(n):

for x in range(n-y-1):#再循环替换成空格 形成梯形左边的倒直角三角形

solid_trapezium[y][x]=' '

for x in range(n*2+y+1,n*3):#再循环替换成空格 形成梯形右边的倒直角三角形

solid_trapezium[y][x]=' '

for x in range(n*3):#打印实心梯形

print(solid_trapezium[y][x],end='')

print()

print()

#空心梯形

hollow_trapezium=[['X' for x in range(n*3)] for y in range(n)]#由于梯形近似矩形 用列表的方法

for y in range(n):

for x in range(n-y-1):#再循环替换成空格 形成梯形左边的倒直角三角形

hollow_trapezium[y][x]=' '

for x in range(n*2+y+1,n*3):#再循环替换成空格 形成梯形右边的倒直角三角形

hollow_trapezium[y][x]=' '

for x in range(n-y,n*2+y):#再循环替换成空格 形成梯形中间的空心

if 0

hollow_trapezium[y][x]=' '

for x in range(n*3):#打印实心梯形

print(hollow_trapezium[y][x],end='')

print()

print()

#实心正六边形

solid_regular_hexagon=[[' 'for x in range(2*(n-1)+(n+(n-1)))] for y in range(n+(n-1)*2)]#初始化六边形列表

solid_rapezium_symmetry=[[]for x in range(n+(n-1)*2)]#初始化六边形对称列表

for y in range(n*3-2):

for x in range((n-1)*2,(n-1)*2+(n+(n-1)),2):#先循环形成六边形中间的矩形

solid_regular_hexagon[y][x]='X'

for x in range(n-1-int(y/2),(n-1-int(y/2))+(y+n)):#再循环形成六边形左边的梯形

if y<(n-1)*2 and y%2==0:

solid_regular_hexagon[x][y]='X'

for y in range(n*3-2):#再循环复制六边形左边的梯形对称到右边

solid_rapezium_symmetry[y].extend(solid_regular_hexagon[y][:(n-1)*2])#六边形对称列表添加六边形左边梯形

solid_regular_hexagon[y].extend(solid_rapezium_symmetry[y][::-1])#将梯形对称翻转

for x in range(4*(n-1)+(n+(n-1))):#打印实心正六边形

print(solid_regular_hexagon[y][x],end='')

print()

print()

#空心正六边形

hollow_regular_hexagon=[[' 'for x in range(2*(n-1)+(n+(n-1)))] for y in range(n+(n-1)*2)]#初始化六边形列表

hollow_rapezium_symmetry=[[]for x in range(n+(n-1)*2)]#初始化六边形对称列表

for y in range(n*3-2):

for x in range((n-1)*2,(n-1)*2+(n+(n-1)),2):#先循环形成六边形中间的空心矩形

if y==0 or y==n*3-2-1:

hollow_regular_hexagon[y][x]='X'

for x in range(n-1-int(y/2),(n-1-int(y/2))+(y+n)):#再循环形成六边形左边的空心梯形

if (y<(n-1)*2 and y%2==0) and (x==n-1-int(y/2) or x==(n-1-int(y/2))+(y+n)-1):

hollow_regular_hexagon[x][y]='X'

for y in range(n-1,n*2-1):#填充六边形最左边

hollow_regular_hexagon[y][0]='X'

for y in range(n*3-2):#再循环复制六边形左边的梯形对称到右边

hollow_rapezium_symmetry[y].extend(hollow_regular_hexagon[y][:(n-1)*2])#六边形对称列表添加六边形左边梯形

hollow_regular_hexagon[y].extend(hollow_rapezium_symmetry[y][::-1])#将梯形对称翻转

for x in range(4*(n-1)+(n+(n-1))):#打印空心正六边形

print(hollow_regular_hexagon[y][x],end='')

print()

print()

shape_print(5)

python等腰梯形_简单空实心图形打印|Python练习系列[3]相关推荐

  1. python编写星号菱形中间是空的_简单空实心图形打印|Python练习系列[3]

    练习内容:打印空实心等腰三角形,空实心菱形,空实心梯形,空实心正六边形 简单空实心图形打印|Python练习系列[3]_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.c ...

  2. 打印中间空了一个的菱形_简单空实心图形打印|Python练习系列[3]

    练习内容:打印空实心等腰三角形,空实心菱形,空实心梯形,空实心正六边形 简单空实心图形打印|Python练习系列[3]_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.c ...

  3. python打印圆形_任意空实心圆形打印|Python练习系列[8]

    练习内容:空实心圆形 勾股定理 完整代码和注释如下 def circle(r): #空心圆 hollow_quarter_circle_rd=[[' 'for x in range(r*2+1)]fo ...

  4. crossin的编程教室python入门_简单三步,用 Python 发邮件

    0. 前言 发送电子邮件是个很常见的开发需求.比如你写了个监控天气的脚本,发现第二天要下雨,或者网站上关注的某个商品降价了,就可以发个邮件到邮箱来提醒自己. 使用 Python 脚本发送邮件并不复杂. ...

  5. python搭建_简单_交易系统【转载】

    python搭建_简单_交易系统[转载] 构建account_class 类 构建所需函数 构建最大回撤.收益率.回测函数 构建银行翻倍.选股函数 回测实证分析 (转自 https://www.joi ...

  6. 老滚5初始化python失败_五分钟学会怎么用python做一个简单的贪吃蛇

    Pygame 是一组用来开发游戏软件的 Python 程序模块,基于 SDL 库的基础上开发.我们今天将利用它来制作一款大家基本都玩过的小游戏--贪吃蛇. 一.需要导入的包 import pygame ...

  7. excel打印预览在哪里_简单实用的excel打印技巧 建议收藏

    打印也是需要技巧滴,一些简单实用的excel打印技巧送给你! 1.每页都打印相同标题 在打印时,第一页有标题,第二页及以后没有标题,造成阅读不便,如何使每页都打印相同标题呢? [页面布局]→[打印标题 ...

  8. python热搜排行功能_简单几行代码用Python爬取微博的热搜榜

    简单几行代码用Python爬取微博的热搜榜 想要实时的看微博热搜 但是又不想去微博网站看!怎么办呢?其实很简单! 我们学了这个requests_html 这个库之后 就更加的简单了! 小编只用了短短的 ...

  9. 量化投资与python语言_在量化投资领域,为什么Python如此受欢迎?

    说起Web领域 你立马会想到JavaScript语言,它在Web领域不可撼动:Python也已经在金融量化投资领域占据了重要位置,从各个业务链条都能找到相应的框架实现. 在量化投资(证券和比特币)开源 ...

最新文章

  1. python gui选择_Python之GUI的最终选择(Tkinter)
  2. Hadoop机架感知与balancer
  3. R语言双因素方差分析
  4. 左牵Uber右联大众,黄教主带领320家车企一统自动驾驶江湖
  5. Vaughn Vernon谈当今软件开发所面临的挑战
  6. Python语言pip升级python-augeas失败之解决办法
  7. Spire.XLS试用手记
  8. linux mv 环境变量,linux环境变量 cp mv 以及文档查看的几个命令
  9. ERROR: Could not read unit serial number!
  10. JavaScript程序员必备的5个debug技巧
  11. Thinkpad T61/R61/X61安装XP驱动流程
  12. MySQL终端(Terminal)命令基本操作(转)
  13. 网页导出的excel无法计算机,网页上不能导出excel表格数据-如何将网页表格导出到excel...
  14. Web前端:前12个易于Web开发的前端开发工具
  15. 安装西门子博图一直重启_博图软件常见错误解决方法
  16. @修改用户(user)信息
  17. yum是干什么的_linux下的yum命令详解
  18. 【许晓笛】 EOS智能合约案例解析(1) 1
  19. 循环-05. 兔子繁衍问题
  20. 扶蕾wlt~学习计划——MATLATB

热门文章

  1. python百钱买百鸡问题答案_PHP/Python---百钱百鸡简单实现及优化
  2. 伸缩杆怎么缩回去图解_没有阳台怎么晾衣服?这10个神器,让家里衣物晾晒更轻松方便...
  3. 【linux】设置镜像源
  4. VS2013中CUDA的配置
  5. Dom4j完整教程~Document对象相关
  6. 软件系统架构~视点和视图
  7. 自定义ClassLoader
  8. echarts柱形图x轴y轴互换_数控机床在加工零件时,突然出现X、Y、Z轴失控?如何处理...
  9. java 配置写成表达式_Java的正则表达式之小结
  10. 顶级隐写术,破坏一切解释器