如何在 python 中用乌龟制作内衬圆圈

how to make lined circle with turtle in python

How to make draw like this with turtle?

现在我的代码看起来像这样:

class OperationsOnSets():

def __init__(self):
    self.font_style = ("Times New Roman", 40, "bold")

def move_turtle_pos(self, x, y, turtle):
    turtle.up()
    turtle.setpos(x, y)
    turtle.down()

def set_d(self):
    turtle = Turtle()
    turtle.pensize(2)
    turtle.speed(2)

    self.move_turtle_pos(-100, -50, turtle)
    turtle.circle(200)

    self.move_turtle_pos(100, -50, turtle)
    turtle.circle(200)
    sleep(5)
    turtle.mainloop()

example = OperationsOnSets()
example.set_d()

这里是result

我虽然想粘贴图片,或者做画线的算法,但我不知道如何实现。所以我希望你们有人能帮助我...

我的海龟哲学是通过让海龟为您完成艰苦的工作来避免数学运算。不是很完美,但很接近:

from turtle import Screen, Turtle

RADIUS = 200
NUMBER_LINES = 14

class OperationsOnSets():

    def __init__(self):
        self.turtle = Turtle()
        self.turtle.pensize(2)
        self.turtle.fillcolor(screen.bgcolor())

    def move_turtle_pos(self, x, y):
        self.turtle.penup()
        self.turtle.setpos(x, y)
        self.turtle.pendown()

    def set_d(self):
        self.move_turtle_pos(-RADIUS/2, -RADIUS)

        points = []
        for _ in range(NUMBER_LINES):
            self.turtle.circle(RADIUS, 180 / NUMBER_LINES)
            points.append(self.turtle.position())

        for _ in range(NUMBER_LINES):
            self.turtle.circle(RADIUS, 180 / NUMBER_LINES)
            position = self.turtle.position()
            self.turtle.goto(points.pop())
            self.turtle.goto(position)

        self.move_turtle_pos(RADIUS/2, -RADIUS)
        self.turtle.begin_fill()
        self.turtle.circle(RADIUS)
        self.turtle.end_fill()

        self.move_turtle_pos(-RADIUS/2, -RADIUS)
        self.turtle.circle(RADIUS, 180)

        self.turtle.hideturtle()

screen = Screen()

example = OperationsOnSets()
example.set_d()

screen.mainloop()

我们让乌龟绕着圆圈停下来记录我们需要完成绘图的点。