Python 中如何畫空心五角星
數碼 3
首先,要畫出空心五角星,我們需要先了解如何繪製五角星。
使用 turtle 庫繪製五角星的方法如下:
import turtle
star = turtle.Turtle()
for i in range(5):
star.forward(100)
star.right(144)
turtle.done()
上述代碼使用 turtle 庫創建了一個五角星對象 star,然後利用 for 循環,執行 forward() 和 right() 方法,來繪製五角星。
繪製空心五角星的方法是在繪製五角星的基礎上,將五角星的填充改為邊框。
import turtle
star = turtle.Turtle()
star.fillcolor('white')
star.begin_fill()
for i in range(5):
star.forward(100)
star.right(144)
star.end_fill()
turtle.done()
上述代碼的區別在於,使用 fillcolor() 方法將填充顏色改為白色,使用 begin_fill() 方法開始填充,使用 end_fill() 方法結束填充。這樣就繪製了一個空心的五角星。
繪製出五角星後,默認情況下是從起點開始繪製的,我們可以採取一些措施來使五角星處於中心位置。
import turtle
star = turtle.Turtle()
star.penup()
star.goto(0, 0) # 將起點改為屏幕中心
star.pendown()
star.fillcolor('white')
star.begin_fill()
for i in range(5):
star.forward(100)
star.right(144)
star.end_fill()
turtle.done()
上述代碼在繪製五角星之前,先使用 penup() 方法將畫筆抬起,使用 goto() 方法將起點移到屏幕中心,然後使用 pendown() 方法將畫筆放下。這樣就可以在畫布中心繪製五角星了。
如果想要繪製帶有邊框的空心五角星,只需要在繪製完空心五角星後,再次繪製五角星,但是邊框顏色需要和背景顏色相同。
import turtle
star = turtle.Turtle()
star.penup()
star.goto(0, 0) # 將起點改為屏幕中心
star.pendown()
star.fillcolor('white')
star.begin_fill()
for i in range(5):
star.forward(100)
star.right(144)
star.end_fill()
star.color('white') # 將畫筆顏色改為和填充顏色相同
for i in range(5):
star.forward(100)
star.right(144)
turtle.done()
上述代碼使用 color() 方法將畫筆顏色改為和填充顏色相同的白色後,再次繪製五角星,從而實現了帶有邊框的空心五角星。
如果想要在程序中多次繪製空心五角星,可以將繪製過程封裝為函數,一遍調用即可。
import turtle
def draw_star(size, color):
star = turtle.Turtle()
star.penup()
star.goto(0, 0)
star.pendown()
star.fillcolor(color)
star.begin_fill()
for i in range(5):
star.forward(size)
star.right(144)
star.end_fill()
star.color(color)
for i in range(5):
star.forward(size)
star.right(144)
draw_star(100, 'white')
draw_star(50, 'black')
turtle.done()
上述代碼將繪製過程封裝為一個函數 draw_star,參數包括 size 和 color,分別表示五角星的大小和填充顏色。這樣就可以在程序中多次調用 draw_star 函數,繪製不同大小和顏色的空心五角星。