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 函數,繪製不同大小和顏色的空心五角星。