Нажми — и увидишь, что делает команда
- ⏱ Сколько займёт
- 40–60 минут, 6 шагов. Каждый шаг заканчивается результатом на экране.
- 💻 Что нужно
- Телефон или компьютер. Редактор открывается прямо в браузере, ставить ничего не надо.
- ⏸ Если прервёшься
- Ничего не потеряется: прогресс сохраняется на этом устройстве. Вернёшься — продолжишь с того же шага.
- 🎓 Чему научишься
- цикл for · повторение · range()
Лень — двигатель программиста
Сова разворачивает план старого форта: четыре стены, четыре угла, всё одинаковое.
«Ты можешь написать четыре одинаковых приказа. Так делают те, кто не уважает своё время», — он зачёркивает три строчки из четырёх.
Осталась одна и слово повтори. Так короче, и ошибиться негде.
Это анимация исполнения кода: команды идут строка за строкой, и линия появляется в том же порядке. Тот же код ты напишешь сам — только чтобы второй квадрат начался в другом месте, добавь перед ним penup() и goto(x, y).
Читать текстом
Сегодня твои восемь строк превратятся в четыре — и станут работать для любой фигуры.
1 from turtle import *
2
3 for i in range(4): # повторить 4 раза
4 forward(100) # отступ! эта строка ВНУТРИ цикла
5 right(90) # и эта тоже внутри
6
7 done() # без отступа = снаружи, выполнится один раз
Читается почти по-русски: for i in range(4) — «для четырёх повторов». Двоеточие в конце говорит «дальше идёт то, что повторяем». А отступ в четыре пробела показывает, какие именно строки внутри.
Сколько строк экономит цикл
Тяни ползунок вправо. Слева код растёт и растёт, справа остаётся четырёх строк. Поставь 24 стороны — и увидишь, ради чего вообще придумали циклы.
Это правило работает всю жизнь программиста. Три повтора — сигнал. Не обязательно бросаться переписывать, но заметить стоит: почти всегда это место, где код можно сделать вдвое понятнее.

- 1Строки 8–10: цикл целикомfor i in range(4): читается «повторить четыре раза», и двоеточие в конце обязательно. Две строки под ним сдвинуты вправо на четыре пробела — этот сдвиг и говорит «повторяем именно нас». Уберёшь отступ — команда выполнится один раз, и вместо квадрата останется один отрезок.
- 2Палитра «Циклы и если»Нажми на неё — ряды кнопок внизу сменятся, и первой будет for i in range():. Она вставит заготовку цикла сразу с двоеточием, чтобы ты его не потерял. Там же живут if, else и знак ==.
- 3Кнопка →| отступТе самые четыре пробела одним нажатием. Отступ в Python — не украшение: он решает, что внутри цикла, а что уже снаружи. Соседняя кнопка «↵ строка» переводит на новую строку, а ⌫ стирает лишнее.
- 4Жёлтая кнопка ▶ ЗапуститьЧетыре строки вместо восьми — а фигура та же. Теперь поставь в range() число 6, потом 12 и запускай снова: код не вырастет ни на строчку, а фигура каждый раз новая.
- 5Квадрат — работа двух строкВсе четыре стороны нарисованы одной парой команд, которая повторилась четыре раза. Ради этого циклы и придумали. Запомни правило: заметил три одинаковые строки — просится цикл.
Это наш редактор «Python в кармане» со страницы /kod/ — открой её в соседней вкладке. На кадре он показан дважды: слева вкладка «Код», где ты пишешь, справа вкладка «Результат», куда программа переключится сама после запуска. Нажимай на кружки по порядку: метка покажет место, строка ниже объяснит, зачем оно.
Отступ решает всё
1 # ПРОГРАММА А — поворот ВНУТРИ цикла
2 for i in range(4):
3 forward(100)
4 right(90) ← отступ есть: строка ВНУТРИ
5 # → получится КВАДРАТ
6
7 # ПРОГРАММА Б — поворот СНАРУЖИ цикла
8 for i in range(4):
9 forward(100)
10 right(90) ← отступа нет: строка СНАРУЖИ
11 # → получится ОДНА ДЛИННАЯ ЛИНИЯ
Разница между программами А и Б — четыре пробела в одной строке. В А поворот внутри цикла: вперёд-поворот, вперёд-поворот — выходит квадрат. В Б он снаружи: черепашка четыре раза идёт вперёд по прямой, а поворачивается один раз в самом конце. Ошибок Python не выдаст ни там, ни там.
Цикл в работе. Всего шесть строк, а черепашка обходит шестиугольник — по одной стороне на каждый круг цикла. Обрати внимание на отступ в строках 7–8: именно он говорит, что эти команды внутри.
В большинстве языков блок кода огораживают фигурными скобками. Python решил иначе: границу показывает отступ. Сначала непривычно, зато потом любой чужой код читается легко — неаккуратного просто не бывает.
Проверка · Что делает range(6)?
Строка написана БЕЗ отступа после for. Когда она выполнится?
Оба верных ответа — +10 дублонов.

Программист ленив — и это правило
Скопировать строку четыре раза может каждый. Профессионал ищет, что здесь повторяется, и пишет это один раз.
Причина не в лени: копий всегда четыре, а исправлений — четыре. Забыл одну — получил ошибку, которую ищут полдня.
У этого правила даже есть имя: DRY — «не повторяй себя». Его пишут на стенах в настоящих студиях.
Вместо квадрата — линия
Программа работает, ошибок нет — а рисунок неправильный. Это самая частая беда новичка в Python. Найди строку, которая стоит не на своём месте.
Полезная привычка: читая чужой код, смотри сначала на лесенку отступов, а уже потом на слова. Она показывает структуру программы быстрее, чем чтение построчно.
Что такое i внутри цикла
1 for i in range(5):
2 print(i) # напечатает 0, 1, 2, 3, 4
3
4 # а теперь спираль:
5 for i in range(40):
6 forward(i * 4) # каждый шаг ДЛИННЕЕ предыдущего
7 right(90)
Команда print пишет текст в консоль — узкую полосу под кодом (в IDLE это отдельное окно Shell). Именно там появятся числа из строки 2. Оказывается, i — не просто буква. Это счётчик: на первом круге он равен 0, потом 1, 2 и так далее. И его можно вставлять в команды! Строка forward(i * 4) делает каждый шаг длиннее — получается спираль.
Разбирать программу по кругам — лучший способ понять цикл. Возьми листок и выпиши, чему равно i и что делает черепашка на первых трёх кругах. Дальше станет очевидно.
Четвёртая галочка — сломай специально. Убери отступ, запусти, посмотри на прямую линию. Такие опыты запоминаются лучше любого объяснения, а разбирать чужие ошибки всегда весело.
Цветок из повторов
1 from turtle import *
2 speed(0) # рисовать быстро
3
4 for petal in range(12): # 12 лепестков
5 for side in range(4): # каждый — квадрат
6 forward(80)
7 right(90)
8 right(30) # поворот к следующему лепестку
9
10 done()
Смотри на лесенку: внешний цикл рисует 12 лепестков, внутренний — квадрат для каждого. Строка 8 с одним отступом — она в наружном цикле, поэтому срабатывает раз на лепесток. Такой рисунок вручную занял бы сотню строк.
Как сдать работу: в «Python в кармане» код сохраняется сам — закрыл страницу, вернулся, и он на месте. Кнопки «поделиться» там нет и ссылки на твою работу тоже: покажи экран взрослому или пришли скриншот — этого достаточно. Поле выше нужно, только если ты писал в другом редакторе, который выдаёт ссылку. Собери свой цветок и поиграй числами: 12 лепестков или 20, поворот 30° или 18°, квадраты или треугольники. Каждое сочетание даёт новый узор — тут можно залипнуть надолго.
Читать текстом
Жми — Гильдия отметит второй остров Обсерватории.