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

回復

共1條回復 我來回復
  • 暫無回復內容