python, черепаха. Как нарисовать окружность с заданным радиусом без метода circle?

Попробовал вот такой код, окружность таки рисуется, только черепаха по непонятной мне причине выполняет цикл гораздо большее количество раз, чем я рассчитывал. Я ожидал, что если изменять угол на один градус и перемещать черепаху в цикле 360 раз, высчитывая координаты по формуле, то окружность нарисуется один раз, а не как в моем случае непонятное множество. Подскажите пожалуйста, в чем проблема и как можно решить, не прибегая к методу circle

import math
import turtle
turtle.shape("turtle")
r = 10
f = 0
turtle.penup()
turtle.forward(r)
turtle.pendown()
for i in range (360):
    x = r * math.cos(f)
    y = r * math.sin(f)
    turtle.goto(x, y)
    f = f + 1

Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

Проще всего ваш код поправить, переведя градусы в радианы. math.sin и math.cos принимают углы в радианах, а вы их считаете в градусах.

import math
import turtle
turtle.shape("turtle")
r = 100
f = 0
turtle.penup()
turtle.forward(r)
turtle.pendown()
for i in range (360):
    x = r * math.cos(math.radians(f))
    y = r * math.sin(math.radians(f))
    turtle.goto(x, y)
    f = f + 1

черепашка вальсирует

Но так черепахи не ходят, они ходят головой вперёд:

import math
import turtle

turtle.shape("turtle")

r = 100

step = r * 2 * math.pi / 360

turtle.penup()
turtle.forward(r)
turtle.left(90)
turtle.forward(-step / 2)
turtle.pendown()

for _ in range (360):
    turtle.forward(step)
    turtle.left(1)

черепашка движется головой вперёд

→ Ссылка