пРОГРАММИРОВАНИЕ
Python - Turtle
Turtle наглядно демонстрирует создаваемый код, используемые алгоритмы и их работу.

Установка Visual Studio Code:

  1. Напишите в поисковой строке "VS Code скачать".
  2. Нажми на кнопку "Download" (скачать).

  3. Откроется новое окно, на котором вам нужно будет выбрать для какой операционной системы скачивать установщик, мы будем рассматривать вариант для Windows, но если у вас MacOS или Linux процесс установки очень схож и ничем не отличается.

  4. Начнётся предложат выбрать место куда скачать данную программу, она весит 90 мб. 

  5. Далее начнётся загрузка в выбранную папку, в зависимости от интернета она будет либо быстрой, либо придется подождать, но 90 мегабайт это очень мало, потребуется немного подождать.

  6. Следуй инструкциям, чтобы установить Visual Studio Code.

  7. Когда установка завершится, найди на компьютере и открой программу Visual Studio Code.

 

 

Установка Python 

Шаг 1: Загрузка Python

Первым шагом является загрузка установочного файла Python с официального сайта. Можно написать в поисковике "python скачать" или перейдите на веб-сайт python.org и выберите раздел "Downloads" (Загрузки).

Там вы найдете последнюю версию Python для вашей операционной системы. Нам сразу предлагают её установить, сейчас это версия Python 3.12.2 и она является актуальной. Давайте её и скачаем, нажмём на "Download Python 3.12.2".

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

Давайте начнём установку "python-3.12.2-amd64.exe". Нажимаем на него дважды на скаченный файл, и нажимаем запустить в появившемся окне.

 Выбираем обязательно "Add python.exe to PATH" и нажимаем на "Install now".

За вопрос "Разрешить этому приложению вносить изменения на вашем устройстве?" - Нажимаем "Да". 

Происходит процесс установки, он может занять некоторое время, пожалуйста подождите. 

Шаг 5: Завершение установки

После завершения установки вы можете закрыть установочное окно.

 

Установка расширения для Python в Visual Studio Code:

  1. Открой Visual Studio Code (теперь она у тебя есть!).

  2. Нажми на кнопку "Extensions" (расширения) в левом меню (или нажми Ctrl+Shift+X).

  3. Напиши в строке поиска "Python" и найди расширение "Python" от Microsoft. Оно необходимо чтобы комфортно работать с Python в VS Code.

  4. Нажми на кнопку "Install" (установить) рядом с расширением Python и подожди, пока установка завершится. Вот так это будет выглядеть после установки.

Теперь у вас установлен Python в Visual Studio Code! Удачи! ????

Вводный урок по Turtle + Домашнее задание
Изучим все основные команды, вы также должны за мною их повторять!

Среда разработки:

Установка Python:
Модуль Turtle
Turtle требуется открытия отдельного окна с нарисованной фигурой, удобнее всего работать в Visual Studio Code. Так же гайд как установить Visual Studio Code и Python у нас есть на данном курсе.

Рекомендуется использовать версию Python 3.11 и ниже, для версии 3.12 и выше ещё не обновили пакет Turtle.
Ученик:
Почему библиотека Turtle?
Педагог:
  1. Наглядность – Код сразу превращается в визуальный результат: черепашка рисует линии, фигуры, узоры. Это помогает лучше понимать алгоритмы.
  2. Простота – Синтаксис интуитивно понятен, даже если у человека нет опыта в программировании. Например, команды forward(100), left(90) логично объясняют, что происходит.
  3. Обучение основам кода – Работа с Turtle помогает освоить базовые понятия: циклы, функции, координаты, работу с цветами и графикой.
  4. Развитие алгоритмического мышления – Создавая узоры и рисунки, ученики учатся строить алгоритмы и декомпозировать задачи.
  5. Интерактивность – Код легко изменять и сразу видеть результат, что делает обучение увлекательным.
  6. Встроена в Python – Не требует сложной установки и готова к использованию сразу после установки Python.
Ученик:
Как пользоваться модулем Turtle?
Педагог:
Для того, чтобы использовать Turtle в вашем проекте Вам необходимо импортировать данный модуль в ваш проект.

Модуль Turtle

Turtle требуется открытия отдельного окна с нарисованной фигурой, удобнее всего работать в Visual Studio Code или Replit (онлайн-среда разработки кода). Так же гайд как установить Visual Studio Code и Python у нас есть на данном курсе.

Рекомендуется использовать версию Python 3.11 и ниже, для версии 3.12 и выше ещё не обновили пакет Turtle.

Почему библиотека Turtle?

  • В рамках нашей подготовки к играм на Python мы должны уметь решать алгоритмические задачи и выявлять некоторые последовательности в нашем коде. Также мы должны уметь сокращать код, тем самым оптимизируя его. 
  • Вы отработаете уже знакомые вами темы и научитесь работать со вложенными циклами, списками  и другими структурами. 
  • Мы будем изучать Turtle и постепенно будем готовиться к PyGame. Будем пробовать с помощью Turtle учить программу реагировать на кнопки: "вперёд", "назад", "вправо", "влево

 

Как пользоваться модулем Turtle? | Синтаксис Turtle

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

Прописывается следующим образом: 

 import turtle

 Или импортировать все функции сразу:

 from turtle import *
  • Базовые команды Turtle:

Примечание: больше методов Turtle вы можете посмотреть на официальном сайте модуля Turtle: https://digitology.tech/docs/python_3/library/turtle.html

 

Мы будем изучать методы Turtle постепенно, поэтому нет смысла заучивать вышенаписанный список. Просто ознакомьтесь с данными командами.

 

Рассмотрим из чего состоят наши программы на Turtle

1. Координатная плоскость и координаты в Python Turtle

В Python Turtle координатная плоскость используется для определения положения и перемещения черепашки. Понимание системы координат важно для точного управления рисованием.

Основные понятия:

  • Координатная плоскость: Двумерное пространство, определяемое двумя перпендикулярными осями:

    • Ось X (горизонтальная): Положительные значения идут вправо, отрицательные — влево.

    • Ось Y (вертикальная): Положительные значения идут вверх, отрицательные — вниз.

  • Начало координат (0, 0): Точка пересечения осей X и Y.

  • Координаты (x, y): Пара чисел, определяющая положение точки на плоскости. Первое число — координата по оси X, второе — по оси Y.

2. Создаем объект Черепашки

Черепашка - это наш виртуальный художник, который будет рисовать на экране. Создадим объект черепашки:

 t = turtle.Turtle()

Или можно называть черепашки как вам требуется:

 pencil = turtle.Turtle()
pencil_triangle = turtle.Turtle()
pencil_square = turtle.Turtle()

Теперь переменная t представляет нашу черепашку. Черепашек может быть несколько, это никак не ограничено, главное правильно их именовать, если это новые черепашки.

Но также можно если у вас одна черепашка, использовать просто turtle.ваш_метод()

Если у вас будут ошибки с запуском или повторным запуском черепашки, лучше всего писать программы в обычном .py файле

Управление черепашкой:

  • t.goto(x, y): Перемещает черепашку в точку с координатами (x, y).

 import turtle

t = turtle.Turtle()

# Двигаем черепашку на 100 единиц на Х и Y
t.goto(100, 100)

# Завершаем работу, но не закрываем окно программы
turtle.done()
  • t.setx(x): Перемещает черепашку по горизонтали в точку с координатой x, сохраняя текущую координату y.

 

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Двигаем черепашку на 100 единиц на Х
t.setx(100)

# Завершаем работу, но не закрываем окно программы
turtle.done()
  • t.sety(y): Перемещает черепашку по вертикали в точку с координатой y, сохраняя текущую координату x.

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Двигаем черепашку на 100 единиц на Y
t.sety(100)

# Завершаем работу, но не закрываем окно программы
turtle.done()

3. Основные методы Черепашки

У черепашки есть несколько основных методов для перемещения и рисования:

  • forward(distance): Двигает черепашку вперед на заданное расстояние.

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Двигаем черепашку вперед на 100 единиц
t.forward(100)

# Завершаем работу, но не закрываем окно программы
turtle.done()
  • backward(distance): Двигает черепашку назад на заданное расстояние.

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Двигаем черепашку назад на 100 единиц
t.backward(100)

# Завершаем работу, но не закрываем окно программы
turtle.done()
  • right(angle): Поворачивает черепашку вправо на заданный угол (в градусах).

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Цикл для рисования 4 сторон квадрата
for _ in range(4):
    t.forward(50)  # Двигаемся вперёд на 50 единиц
    t.right(90)   # Поворачиваем направо на 90 градусов
    # Цикл для рисования 4 сторон квадрата

# Завершаем работу, но не закрываем окно программы
turtle.done()
  • left(angle): Поворачивает черепашку влево на заданный угол (в градусах).

 

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Цикл для рисования 4 сторон квадрата
for _ in range(4):
    t.backward(50)  # Двигаемся назад на 50 единиц
    t.left(90)   # Поворачиваем влево на 90 градусов
    # Цикл для рисования 4 сторон квадрата

# Завершаем работу, но не закрываем окно программы
turtle.done()

При повороте на определённый угол, необходимо учитывать направление взгляда черепахи. Допустим, если черепаха смотрит прямо, то для нас это будет вправо, как обычно при запуске программы. Градусный круг будет следующим:

Примеры: 

Треугольник:

 import turtle

t = turtle.Turtle()

# Цикл для рисования 3 сторон треугольника
for _ in range(3):
    t.forward(75)   # Двигаемся вперед на 75 единиц
    t.left(120)    # Поворачиваем налево на 120 градусов

# Завершаем работу, но не закрываем окно программы
turtle.done()

Спираль:

 import turtle

t = turtle.Turtle()

# Цикл для рисования спирали
for i in range(100):
    t.forward(i * 5)   # Двигаемся вперед на увеличивающееся расстояние
    t.right(90)        # Поворачиваем направо на 90 градусов

# Завершаем работу, но не закрываем окно программы
turtle.done()

Звезда:

 import turtle

t = turtle.Turtle()

# Цикл для рисования 5 лучей звезды
for _ in range(5):
    t.forward(100)    # Двигаемся вперед на 100 единиц
    t.right(144)     # Поворачиваем направо на 144 градуса

# Завершаем работу, но не закрываем окно программы
turtle.done()

4. Поднимаем и опускаем перо Черепашки

Черепашка всегда оставляет след когда куда либо перемещается, но чтобы перемещение проходило без рисования линий необходимо перед перемещением Поднять Перо, ​​​​​​​затем для дальнейшего рисования - Опустить Перо  

  • penup() - Поднимаем черепашку (Она перестает рисовать)
  • pendown() - Опускаем черепашку (Она начинает рисовать)

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Поднимаем перо
t.penup()

# Двигаем черепашку на 100 единиц на Х и Y
t.goto(100, 100)

# Опускаем перо
t.pendown()

# Завершаем работу, но не закрываем окно программы
turtle.done()

Пример с рисованием:

 import turtle

# Создаем черепашку
t = turtle.Turtle()

# Рисуем круг
t.circle(25)

# Поднимаем перо
t.penup()

# Двигаем черепашку на 100 единиц на Х и Y
t.goto(100, 100)

# Опускаем перо
t.pendown()

# Рисуем круг
t.circle(25)

# Завершаем работу, но не закрываем окно программы
turtle.done()

5. Изменяем перо Черепашки и её Цвет

Мы можем настроить внешний вид линии, которую рисует черепашка:

  • pensize(width): Изменяет толщину линии

  • pencolor(color): Изменяет цвет линии. Можно использовать название цвета ("red", "green") или RGB значения (например, (255, 0, 0) для красного).

 Пример:

 import turtle

t = turtle.Turtle()

# Список цветов
colors = ["red", "green", "blue", "purple"]

# Рисуем 4 квадрата
for i in range(4):
    t.pencolor(colors[i])  # Устанавливаем цвет линии
    t.pensize(i + 1)       # Устанавливаем толщину линии (1, 2, 3, 4)
    
    for _ in range(4):
        t.forward(50)
        t.right(90)
    
    t.penup()      # Поднимаем черепашку (черепашка не рисует)
    t.forward(75)  # Перемещаемся вправо для следующего квадрата
    t.pendown()    # Опускаем черепашку (черепашка рисует)

# Завершаем работу, но не закрываем окно программы
turtle.done()

Закрашивание фигуры:

1. Определения цвета для закраски - turtle.fillcolor(color)

  • Эта функция устанавливает цвет, которым будет закрашена фигура.

  • В качестве аргумента color можно передать:

    • Название цвета: Например, "red", "blue", "green" и т.д.

    • Шестнадцатеричный код цвета: Например, "#FF0000" для красного, "#0000FF" для синего.

    • RGB-значения: Кортеж из трёх чисел (0-255) для красного, зелёного и синего компонентов. Например, (255, 0, 0) для красного.

2. Начало закрашивания - turtle.begin_fill()

  • Эта функция сообщает черепашке, что мы начинаем рисовать фигуру, которая должна быть закрашена.

  • После вызова этой функции все последующие линии, которые рисует черепашка, будут считаться частью закрашиваемой области.

3. Заканчивание закрашивания - turtle.end_fill()

  • Эта функция сообщает черепашке, что мы закончили рисовать фигуру и её нужно закрасить установленным ранее цветом.

  • Закрашивание происходит автоматически после вызова этой функции.

 import turtle

t = turtle.Turtle()

# Здесь вы пишите ваш код
def draw_square(side_length):
  # Начинаем закрашивать область фигуры, идёт перед циклом по рисованию фигуры
  t.begin_fill()
  # Цикл рисования фигру
  for _ in range(4):
    t.forward(side_length)
    t.right(90)
  # Заканчиваем закрашивание области фигуры, находится после цикла и обязательно, вне цикла закраски
  t.end_fill()

# Установка цвета для закрашивания области фигуры
t.fillcolor('red')
# Вызов Функции - Рисовать квадрат со стороной 100
draw_square(100) 

turtle.done()

Важные моменты:

  • begin_fill() и end_fill() должны использоваться вместе.

  • Фигура должна быть замкнутой, иначе закрашивание не произойдет.

  • Можно закрашивать любые фигуры, которые рисует черепашка, не только квадраты.

 

6. Изменение скорости Черепахи:

В модуле Turtle, функция t.speed(n) позволяет контролировать скорость движения черепахи, влияя на то, как быстро она рисует линии и фигуры.

  • t.speed(n) Устанавливает скорость для конкретной черепахи t

Аргументы:

  • n Число, определяющее скорость.

Диапазон значений:

  • 0 или 999 Самая быстрая скорость. 

  • 1 - 10 Промежуточные скорости. С увеличением значения скорость рисования увеличивается.

Пишем программу на Turtle с использование Циклов, Списков, Функций!

  • Результатом первой программы будет:

  • Для написания такой задачи нам необходимо знать следующие темы: циклы, списки, функции.

 

Шаг 1 | Рисуем квадрат:

  1. Необходимо импортировать модуль Turtle в проект import turtle
  2. Создаём объект нашей черепашки, чтобы им управлять t = turtle.Turtle() 

  3. По умолчанию наша черепашка идёт от центра  вправо. Для отрисовки квадрата нам необходимо нарисовать 4 его стороны. Рисуем первую сторону t.forward() В скобках у forward мы пишем кол-во пикселей. Давайте напишем 150.

  4. Теперь нам необходимо развернуться ровно на 90 градусов и также нарисовать сторону у квадрата. t.left(90)

  5. Проделываем так 4 раза. Поскольку у нас 4 стороны у квадрата.

В итоге мы получаем следующий код:

Данный код нам должен отрисовать следующий квадрат:

Шаг 2 | Оптимизируем отрисовку квадрата, используя цикл for... in... :

  1. В прошлом примере видно, что мы 4 раза написали один и тот же код. То есть мы рисовали сторону квадрат и поворачивались 4 раза. Давайте оптимизируем это с помощью цикла for... in...
  2. Теперь нам необходимо убрать весь ненужный код!!! То есть теперь мы оставим только код в цикле. 

В итоге мы получаем следующий код:

Данный код, как и в предыдущем примере должен отрисовать нам следующий квадрат:

Шаг 3 | Рисуем квадрат с помощью Функции:

  1. Создаём функцию. У меня это будет  def square() Изначально функция не будет принимать никаких значений! Давайте поместим туда наш цикл из предыдущего шага.
  2. Теперь нам необходимо вызвать данную функцию. Или по-другому запустить!

В итоге мы получаем следующий код:

И у нас рисуется такой же квадрат как и в двух предыдущих примерах:

Если мы продолжим вызывать наши функции, то у нас картинка не изменится. Единственное, что произойдёт - это то, что мы останемся на месте. То есть мы будем рисовать одно и то же. Давайте поменяем нашу функцию так, чтобы рисовалось несколько квадратов различных размеров.

 

Шаг 4 | Рисуем несколько квадратов с помощью Функции:

А вот эта задача уже посложнее, поскольку нам нужно изменять параметр функции, чтобы мы могли рисовать несколько квадратов. Шаги буду выглядеть следующим образом:

  1.  Добавляем в функцию def square() параметр pixels Этот параметр будет отвечать за размер в пикселях отрисовки стороны квадрата. Таким образом, мы сможем рисовать несколько квадратов, просто вызывая функцию и меняя значения аргумента при вызове. То есть код следующий: def square(pixels) 
  2. Возникает вопрос, а где именно мы будем использовать параметр pixels Как описано в прошлом шаге, данный параметр нам необходим для отрисовки стороны квадрата. За отрисовку у нас отвечает t.forward() Давайте вместо конкретного значения туда подставим значения pixels То есть код следующий: t.forward(pixels)
  3. Давайте отрисуем три квадрата, вызывая функции square(50) и меняя значения 50 на иное. Для этого при каждом вызове в качестве аргумента мы будем передавать различные числа.

Данный код позволяет нам отрисовать следующие квадраты:

Шаг 5 | Помещаем вызов функции square в цикл для отрисовки большого количества квадратов:

  1. Если нашей задачей является отрисовка некоторого узора из квадратов, например из 10 квадратов, то уже возникает вопрос в оптимизации нашего кода. Ведь если мы будем использовать вариант из прошлого примера, то нам придётся написать 10 вызовов функции. Давайте используем другой подход для решения данной задачи. Помещаем вызовы функций в цикл for... in... Тогда код, где мы вызываем функции будет следующим:
 step = 20 # Прописываем шаг для увеличения стороны квадрата
for _ in range(10): # Прописываем значение для кол-ва квадратов
    square(step) # Передаём в square() аргумент step
    step += 20 # Увеличиваем каждую итерацию шаг step

      2. Давайте прибавим скорости нашей черепашке. Для этого воспользуемся функцией speed() 

Исходный код для нашего узора будет следующим:

А вот получившийся узор:

Шаг 6 | Меняем угол отрисовки квадратов каждую итерацию + меняем цвет:

  1. Для изменения угла отрисовки квадрата необходимо выполнить следующее:
    • Добавить команду поворота нашей черепашки каждую итерацию цикла. Вот как будет выглядеть участок кода после добавления угла поворота:
 step = 20 # Прописываем шаг для увеличения стороны квадрата
for _ in range(10): # Прописываем значение для кол-ва квадратов
    t.right(15) # Добавляем угол наклона при отрисовки каждого квадрата
    square(step) # Передаём в square() аргумент step
    step += 20 # Увеличиваем каждую итерацию шаг step

      2. Давайте поменяем немного наши исходные данные, чтобы узор поместился в наш экран.

 step = 30 # Прописываем шаг для увеличения стороны квадрата
for _ in range(60): # Прописываем значение для кол-ва квадратов
    t.right(10) # Добавляем угол наклона при отрисовки каждого квадрата
    square(step) # Передаём в square() аргумент step
    step += 4 # Увеличиваем каждую итерацию шаг step

      3. Теперь наша задача сделать наш рисунок цветным. Давайте сначала всё разукрасим одним цветом. Для этого нам необходимо воспользоваться методом модуля turtle . Он так и называется color В данном этапе без разницы в какой функции мы укажем цвет. Либо в функции отрисовки сторон квадрата, либо в функции отрисовок несколько квадратов. Давайте напишем в функции отрисовки нескольких квадратов. 

 step = 30 #прописываем шаг для увеличения стороны квадрата
for _ in range(60):#прописываем значение для кол-ва квадратов
    t.color('red')#указываем цвет каждого квадрата
    t.right(10) #добавляем угол наклона при отрисовки каждого квадрата
    square(step)#передаём в square() аргумент step
    step += 4#увеличиваем каждую итерацию шаг step

      4. Теперь давайте будем чередовать цвет квадратов. Для этого создаём список

 list_colours = ['red', 'green', 'yellow', 'orange', 'pink']

И тут у нас есть два способа: либо мы будем последовательно чередовать цвет, либо случайным образом мы будем выбирать из списка.

Метод 1: С помощью random

Метод 2: Последовательное перебор элементов списка

В итоге мы получаем вот такой рисунок:

Book design is the art of incorporating the content, style, format, design, and sequence of the various components of a book into a coherent whole. In the words of Jan Tschichold, "Methods and rules that cannot be improved upon have been developed over centuries. To produce perfect books, these rules must be revived and applied." The front matter, or preliminaries, is the first section of a book and typically has the fewest pages. While all pages are counted, page numbers are generally not printed, whether the pages are blank or contain content.
We Offer Flexible Learning Formats
Find the best format for you to get effective results and fast progress
Group and individual classes
We collect groups from 5 to 15 students and start new groups every month. Also, you can study individual programs with our teachers. See the prices of our special programs for newbies.
Online language classes
You can study online with our teachers at any convenient time for you. You can choose your favorite tutor from all community members, choose the necessary subjects to exercise in if you want to get intensive classes.
Learning a language in a fun way for children under 5yo
We develop special classes for kids to start speaking new languages with fun and no fear. All kids will be involved in intellectual games and the discussion process.
It is necessary to choose a visual aid that is appropriate for the topic and audience.
Each type of visual aid has pros and cons that must be evaluated to ensure it will be beneficial to the overall presentation. Before incorporating visual aids into speeches, the speaker should understand that if used incorrectly, the visual will not be an aid, but a distraction.

Planning ahead is important when using visual aids. It is necessary to choose a visual aid that is appropriate for the material and audience. The purpose of the visual aid is to enhance the presentation. Each type of visual aid has pros and cons that must be evaluated to ensure it will be beneficial to the overall presentation. Before incorporating visual aids into speeches, the speaker should understand that if used incorrectly, the visual will not be an aid, but a distraction. Planning ahead is important when using visual aids. It is necessary to choose a visual aid that is appropriate for the material and audience. The purpose of the visual aid is to enhance the presentation.