任意空實心圓形列印 Python練習系列 8

2022-09-18 17:33:09 字數 2480 閱讀 4707

練習內容:空實心圓形 勾股定理

完整**和注釋如下

def circle(r):

#空心圓

hollow_quarter_circle_rd=[[' 'for x in range(r*2+1)]for y in range(r+1)]#建立圓的右下角四分之一的列表

hollow_half_circle_right=#建立圓的右半邊的列表

hollow_whole_circle=#建立整個圓的列表

for y in range(r+1):#填充四分之一圓

half_chord=round((r**2-y**2)**0.5)#half_chord 弦長的一半 利用勾股定理y^2+x^2=r^2

hollow_quarter_circle_rd[y][half_chord*2]='o'#豎向填充

hollow_quarter_circle_rd[half_chord][y*2]='o'#橫向填充

for y in range(r+1):#將圓的右下角四分之一沿x軸對稱翻轉填充到圓的右半邊的列表內

for y in range(r+1):#填充圓的右下角四分之一到圓的右半邊的列表內

for y in range(r*2+2):#將圓的右半部分沿y軸對稱翻轉填充到整個圓的列表內

hollow_whole_circle[y]=hollow_whole_circle[y][::-1]#填充後每行列表翻轉

hollow_whole_circle[y]+=' '#填充最中間的一列

for y in range(r*2+2):#將圓的右半部分填充到整個圓的列表

hollow_whole_circle[y].extend(hollow_half_circle_right[y])

for y in range(r*2+2):#列印出圓

for x in range(r*4+3):

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

print()

print()

#實心圓

quarter_circle_rd=[[' 'for x in range(r*2+1)]for y in range(r+1)]#建立圓的右下角四分之一的列表

half_circle_right=#建立圓的右半邊的列表

half_circle_right_x_coordinate=#建立圓的右半邊的x值列表

whole_circle=#建立整個圓的列表

for y in range(r+1):#填充四分之一圓

half_chord=round((r**2-y**2)**0.5)#half_chord 弦長的一半 利用勾股定理y^2+x^2=r^2

quarter_circle_rd[y][half_chord*2]='o'#豎向填充

quarter_circle_rd[half_chord][y*2]='o'#橫向填充

for y in range(r+1):#將圓的右下角四分之一沿x軸對稱翻轉填充到圓的右半邊的列表內

for y in range(r+1):#填充圓的右下角四分之一到圓的右半邊的列表內

for y in range(r*2+2):#獲取圓的右半邊的x值

for x in range(r*2+1):

if half_circle_right[y][x]=='o':

break#對於每一行取到第乙個值就退出x的迴圈

for y in range(r*2+2):#填充內部

for x in range(half_circle_right_x_coordinate[y]):

half_circle_right[y][x]='o'

for y in range(r*2+2):#填充兩個符號中間的空格 o o→ooo

for x in range(r*2+1-2):

if half_circle_right[y][x]=='o' and half_circle_right[y][x+2]=='o':#如果有兩個連著的o

half_circle_right[y][x+1]='o'#兩個o中間的空格變為o

for y in range(r*2+2):#將圓的右半部分沿y軸對稱翻轉填充到整個圓的列表內

whole_circle[y]=whole_circle[y][::-1]#填充後每行列表翻轉

whole_circle[y]+='o'#填充最中間的一列

for y in range(r*2+2):#將圓的右半部分填充到整個圓的列表

whole_circle[y].extend(half_circle_right[y])

for y in range(r*2+2):#列印出圓

for x in range(r*4+3):

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

print()

circle(20)

任意空實心圓形列印 Python練習系列 8

練習內容 空實心圓形 勾股定理 完整 和注釋如下 def circle r 空心圓 hollow quarter circle rd for x in range r 2 1 for y in range r 1 建立圓的右下角四分之一的列表 hollow half circle right 建立圓...

python列印實心 空心正方形 x形

n float input 請輸入正方形邊長 n int n 1 if n 0 print 您輸入的數字不符合要求 for i in range n for j in range n print end print 輸出結果 1.頭尾單獨列印,中間用迴圈 n float input 請輸入正方形邊長...

python列印等邊三角形(實心,空心)

列印實心等邊三角形 1,3,5,7 所以最多一行的值為row 2 1,空格列印規律為,第row行為0,第row 1行為1,依次類推的話,第一行為n 1個空格,所以思路是輸出row行 外層for迴圈控制 內層兩個for迴圈,乙個控制列印空格,乙個控制列印 如圖 d spf python demo ve...