Черепашкова графіка (Turtle)

Малюємо фігури за допомогою коду: рух, повороти, колір, цикли та маленькі “арт-проєкти”.

1 Що таке Turtle?

Turtle — це модуль Python, який дозволяє “керувати черепашкою” на екрані. Черепашка має позицію, напрямок і ручку (pen). Коли вона рухається — лишає лінію.

Чому це круто?

Turtle — ідеальний спосіб “побачити” алгоритми. Цикли, функції та математика стають малюнками.

2 Перший запуск

Створи файл turtle_demo.py і запусти його. На екрані відкриється вікно, де черепашка намалює лінію.

turtle_demo.py
import turtle

t = turtle.Turtle()

t.forward(120)   # вперед на 120 “кроків”
t.left(90)       # поворот ліворуч на 90°
t.forward(80)

turtle.done()
Якщо вікно Turtle відкривається і одразу закривається — ти забув turtle.done().

3 Рух і повороти: базові команди

Рух

  • forward(n) — вперед
  • backward(n) — назад
  • goto(x, y) — перейти в координати

Повороти

  • left(angle) — ліворуч
  • right(angle) — праворуч
  • setheading(angle) — напрямок (0 — вправо)

Про координати

Центр екрана — це (0, 0). Вправо — x росте, вгору — y росте.

4 Ручка: колір, товщина, “підняти/опустити”

Черепашка може малювати або просто рухатися без лінії.

pen.py
import turtle

t = turtle.Turtle()
t.pensize(5)
t.pencolor("blue")
t.speed(8)        # 1..10 або 0 (найшвидше)

t.forward(120)
t.penup()         # підняти ручку (не малює)
t.forward(40)
t.pendown()       # опустити ручку (малює)
t.pencolor("red")
t.forward(120)

turtle.done()

5 Фігури через цикли: квадрат і багатокутник

Найкрасивіше в Turtle — це те, що цикли одразу дають “магію”: замість 4 однакових команд — один цикл.

shapes.py
import turtle

t = turtle.Turtle()
t.speed(0)

# квадрат
for _ in range(4):
    t.forward(120)
    t.left(90)

t.penup()
t.goto(-180, -50)
t.pendown()

# правильний шестикутник (6 сторін)
sides = 6
for _ in range(sides):
    t.forward(80)
    t.left(360 / sides)

turtle.done()
Формула повороту: для правильного n-кутника кут повороту = \(360 / n\).

6 Заповнення фігур (fill)

Turtle може не тільки малювати контур, а й заповнювати фігуру кольором.

fill.py
import turtle

t = turtle.Turtle()
t.speed(0)
t.pencolor("black")
t.fillcolor("#e2f0d9")

t.begin_fill()
for _ in range(4):
    t.forward(120)
    t.left(90)
t.end_fill()

turtle.done()

7 Малюнки-алгоритми: спіраль і “квітка”

Якщо змінювати довжину кроку або кут у циклі — виходять спіралі та орнаменти.

spiral.py
import turtle

t = turtle.Turtle()
t.speed(0)
t.pencolor("purple")

step = 5
for _ in range(60):
    t.forward(step)
    t.left(20)
    step += 2

turtle.done()
flower.py
import turtle

t = turtle.Turtle()
t.speed(0)
t.pencolor("hotpink")

for _ in range(36):
    for _ in range(4):
        t.forward(80)
        t.left(90)
    t.left(10)

turtle.done()

Висновок

Turtle — це “графіка через алгоритми”. Ти керуєш рухом, поворотами та ручкою, а цикли перетворюють правила на красиві фігури. У практиці ти зробиш власні малюнки й навчишся поєднувати цикли та функції.

forward left/right penup/pendown for fill