python编写星号菱形中间是空的_简单空实心图形打印|Python练习系列[3]
生活随笔
收集整理的這篇文章主要介紹了
python编写星号菱形中间是空的_简单空实心图形打印|Python练习系列[3]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
練習內容:打印空實心等腰三角形,空實心菱形,空實心梯形,空實心正六邊形
簡單空實心圖形打印|Python練習系列[3]_嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili?www.bilibili.comdef 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<n-1:print(' ',end='')for x in range(1):#再循環打印右腰邊if 0<y<n-1: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<n-1:hollow_diamond[y]+=' 'for x in range(1):#再循環打印右腰邊if 0<y<n-1: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<y<n-1: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]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ssd测试工具crystaldiskma
- 下一篇: python手机销售系统详细设计_数据库