import turtle               # Импорт библиотеки

turtle.shape('turtle')      # Устанавливает форму пера
# Варианты 'arrow', 'turtle', 'circle', 'square', 'triangle', 'classic'

turtle.color('red')         # Задать цвет линии и заливки
turtle.pencolor('green')    # Задать цвет линии
turtle.fillcolor('black')   # Задать цвет заливки
turtle.bgcolor('grey')      # Задать цвет фона
# Способы записи цвета
# Название цвета - 'red'
# HEX номер #33cc8c
# если colormode(255) - то цвет задается 0  125  255
# RGB - 255, 10, 125
# если colormode(1 - то цвет задается 0  0.5  1.0
# RGB - 0.2, 0.8, 0.55


turtle.pensize(10)          # Задать размер линии 10px

turtle.forward(110)         # Идти вперед на 110px
turtle.fd(110)              # Короткая запись команды выше

turtle.left(45)             # Повернуть на 45 градусов налево
turtle.lt(45)               # Короткая запись команды выше

turtle.backward(200)        # Идти назад на 200px
turtle.backward(200)        # Короткая запись команды выше

turtle.right(90)            # Повернуть на 90 градусов направо
turtle.right(90)            # Короткая запись команды выше

turtle.goto(50, 100)        # Переместить перо в точку X = 50, Y = 100

turtle.begin_fill()         # Начать заливку
# Тут рисуете любую фигуру
# которую вы хотите закрасить
turtle.end_fill()           # Закончить заливку

turtle.penup()              # Поднять перо = не рисовать
turtle.pendown()            # Опустить перо = рисовать

turtle.hideturtle()         # Делает перо невидимым на холсте,
turtle.ht()                 # Короткая запись команды выше

turtle.showturtle()         # Делает перо видимым на холсте.
turtle.st()                 # Короткая запись команды выше

turtle.mainloop()           # Цикл, чтобы окно не закрывалось
                            # сразу после выполнения программы

Вы можете использовать модуль Turtle для рисования сложных фигур. Например, давайте создадим функцию, которая рисует спиральную форму Этот код создает спиральную форму, с каждым шагом уменьшая длину линии на 2 пикселя, что создает эффект спирали.


import turtle

def draw_spiral(turtle, length):
    if length > 0:
        turtle.forward(length)
        turtle.right(90)
        draw_spiral(turtle, length - 2)

win = turtle.Screen()
t = turtle.Turtle()
draw_spiral(t, 100)
turtle.done()

Вы также можете создать более сложные формы, используя дополнительные функции и сложные паттерны. Например, вы можете создать функцию для рисования фрактала Этот код создает красивый фрактал, который выглядит как снежинка Коха. Вы можете изменить глубину для создания более сложных форм.

ё
import turtle

def draw_fractal(turtle, length, depth):
    if depth == 0:
        turtle.forward(length)
    else:
        draw_fractal(turtle, length / 3, depth - 1)
        turtle.right(60)
        draw_fractal(turtle, length / 3, depth - 1)
        turtle.left(120)
        draw_fractal(turtle, length / 3, depth - 1)
        turtle.right(60)
        draw_fractal(turtle, length / 3, depth - 1)

win = turtle.Screen()
t = turtle.Turtle()
draw_fractal(t, 300, 4)
turtle.done()

Давайте нарисуем мандала, используя модуль Turtle в Python. Мандала - это геометрическая форма, которая обычно имеет симметричную структуру и сложные узоры. В этом коде мы рисуем мандалу, используя функцию draw_mandala. Мы рисуем большой круг, затем шестиугольник внутри него, и затем еще шесть кругов в каждом углу шестиугольника. Мы используем разные цвета для украшения мандалы. Этот код создает очень простую мандалу, но вы можете добавить больше деталей и украшений, чтобы сделать ее более сложной и интересной.


import turtle

win = turtle.Screen()
t = turtle.Turtle()

t.speed(0)  # Устанавливаем максимальную скорость

def draw_mandala(radius, color1, color2):
    t.color(color1)
    t.begin_fill()
    t.circle(radius)
    t.end_fill()
    t.color(color2)
    t.circle(radius, steps=6)  # Рисуем шестиугольник

    for _ in range(6):
        t.begin_fill()
        t.circle(radius/2)
        t.end_fill()
        t.color(color1)
        t.left(60)  # Поворачиваем на 60 градусов

draw_mandala(100, "blue", "yellow")

turtle.done()

Давайте нарисуем “цветок” с помощью черепашки. Мы будем использовать два цвета и рисовать много маленьких окружностей, чтобы создать эффект “лепестков”. В этом коде мы рисуем 36 кругов разных цветов, каждый из которых повернут на 10 градусов относительно предыдущего. Это создает эффект, похожий на “цветок” или “колесо цветов”. Каждый круг заполняется цветом, соответствующим его контуру, создавая яркий и красочный рисунок.

Пожалуйста, обратите внимание, что из-за высокой скорости рисования (t.speed(0)), все круги будут нарисованы почти мгновенно. Если вы хотите наблюдать за процессом рисования, установите скорость на более низкое значение, например t.speed(1)


import turtle

win = turtle.Screen()
t = turtle.Turtle()

t.speed(0)  # Устанавливаем максимальную скорость

def draw_flower():
    for i in range(36):  # Нарисовать "цветок"
        for colors in ['red', 'orange', 'yellow', 'green', 'blue', 'purple']:
            t.color(colors)
            t.fillcolor(colors)
            t.begin_fill()
            t.circle(50)
            t.end_fill()
            t.right(10)
        t.right(90)

draw_flower()

turtle.done()

Давайте нарисуем фигуру, которая называется “Круги Вичингема”. Эта фигура создается путем рисования последовательности вложенных окружностей, каждая из которых повернута на определенный угол относительно предыдущей. В этом коде мы рисуем 36 окружностей с радиусом, начинающимся от 10 и увеличивающимся на 20 после каждой окружности. После рисования каждой окружности, мы поворачиваем черепашку на 10 градусов влево. Это создает серию вложенных окружностей, которые выглядят как спираль. Этот эффект называется “Кругами Вичингема”.


import turtle

win = turtle.Screen()
t = turtle.Turtle()

t.speed(0)  # Устанавливаем максимальную скорость

def draw_wichingham_circles(radius, increment, angle, num_circles):
    for _ in range(num_circles):
        t.circle(radius)
        radius += increment  # Увеличиваем радиус
        t.left(angle)  # Поворачиваем черепашку

draw_wichingham_circles(10, 20, 10, 36)

turtle.done()