Загрузка данных


from turtle import *

# Настройка экрана и черепашки
shape('turtle')
setup(450, 350)
pensize(2)

# Функция перемещения (используем setpos вместо goto)
def p(x, y):
    penup()
    setpos(x, y)
    pendown()
    seth(0)

# Функция рисования прямоугольника из учебника
def rect(x1, y1, x2, y2):
    p(x1, y1)
    d = abs(x2 - x1)
    h = abs(y2 - y1)
    begin_fill()
    fd(d); rt(90)
    fd(h); rt(90)
    fd(d); rt(90)
    fd(h)
    end_fill()

# --- 1. Туловище (с помощью функции rect) ---
# Ширина туловища: от -15 до 15 (всего 30)
color('black', 'black')
rect(-15, 60, 15, -60)

# --- 2. Голова (круг) ---
p(0, 60) # Нижняя точка головы
color('black', 'black')
begin_fill()
circle(20) # Радиус 20
end_fill()

# --- 3. Усики (линии) ---
# Левый усик
p(-8, 98)
pendown()
setpos(-35, 135)

# Правый усик
p(8, 98)
pendown()
setpos(35, 135)

# --- 4. Верхние крылья (большие круги) ---
# Радиус 45. Центры смещены, чтобы не задевать туловище (x от -15 до 15)
# Левое верхнее крыло (центр -65, 30)
p(-65, -15)
color('black', 'skyblue')
begin_fill()
circle(45)
end_fill()

# Правое верхнее крыло (центр 65, 30)
p(65, -15)
color('black', 'skyblue')
begin_fill()
circle(45)
end_fill()

# --- 5. Нижние крылья (маленькие круги) ---
# Радиус 35. Также смещены от туловища.
# Левое нижнее крыло (центр -55, -45)
p(-55, -80)
color('black', 'lightgreen')
begin_fill()
circle(35)
end_fill()

# Правое нижнее крыло (центр 55, -45)
p(55, -80)
color('black', 'lightgreen')
begin_fill()
circle(35)
end_fill()

# Завершаем работу
hideturtle()
done()