我的Python Star 中间有一个空心五边形,我该如何解决这个问题? [重复]

问题描述 投票:0回答:1

我正在为学校制作一个程序,但在使用 Python 海龟制作星星时遇到问题。尽管付出了很多努力来解决这个问题,但内部仍然是空心的。 (我使用的是Python 3.12.3) 这是一段代码:

import turtle as t

def star():
    t.penup()
    t.goto(-100,100)
    t.pendown()
    t.fillcolor('black')
    t.begin_fill()
    for p in range(5):
        t.forward(200)
        t.right(144)
    t.end_fill()

star()

我尝试了很多不同的方法来解决这个问题,但都没有成功。我希望星星完全被填满,而不是中间有一个空心五边形。

python turtle-graphics python-turtle
1个回答
2
投票

我相信您需要采取更直接的方法来绘制星星,只绘制侧面,以便清楚需要填充的内容:

import turtle as t

def star():
    # size of star
    size = 80     
         
    # angle to form star
    angle = 144
    
    #fill
    t.fillcolor("black")
    t.begin_fill()
     
    # form star
    for side in range(5):
        t.forward(size)
        t.right(angle)
        t.forward(size)
        t.right(72 - angle)
         
    # fill color
    t.end_fill()

star()

您可能需要调整

size
angle
等来满足您的需求,但这应该能让您大致了解。

© www.soinside.com 2019 - 2024. All rights reserved.