Циклы — строим стену за 3 секунды
Зачем писать одно и то же 100 раз, если можно один раз и повторить?
Старт
Помнишь, как ты писал вперёд() пять раз подряд в первом уроке? Представь, что нужно построить стену из 100 блоков. Писать вперёд() сто раз?
Нет. Для этого есть циклы.
Цикл — это команда «повтори». Одна строка вместо ста. Программисты ленивы — и это их суперсила.
Теория: Цикл for
for i in range(n) — повтори n раз
Самый частый цикл в Python. Говоришь «сколько раз повторить» — и он повторяет.
for i in range(10):
поставь_блок()
вперёд()
Minecraft-аналогия: поставь 10 блоков в ряд. Без цикла — 20 строк. С циклом — 3.
range() — генератор чисел
range(5) даёт числа: 0, 1, 2, 3, 4
⚠️ Начинается с нуля! И заканчивается до указанного числа. range(5) — это 5 чисел, но последнее — 4, не 5.
Переменная цикла i
i — это счётчик. На каждом шаге цикла он увеличивается. Как номер блока, который ты ставишь.
for i in range(5):
print(i) # выведет: 0, 1, 2, 3, 4
Вложенные циклы — стена!
Стена = строки × столбцы. Цикл внутри цикла:
for строка in range(5): # 5 строк
for блок in range(10): # 10 блоков в каждой
поставь_блок()
вперёд()
Итого: 5 × 10 = 50 блоков. Две строки кода вместо пятидесяти.
for i in range(3)?for i in range(4):
print(i)
Практика: Строим циклами
Задача 1: Построй линию из 7 блоков.
for i in range():
поставь_блок()
()
💡 Подсказка
Нужно 7 блоков — значит range(???). После каждого блока черепашка делает шаг вперёд.
✅ Решение
for i in range(7):
поставь_блок()
вперёд()
Задача 2: Построй стену 4 высоты × 6 ширины (вложенный цикл).
for строка in range():
for блок in range():
поставь_блок()
вперёд()
# переход на следующий ряд
💡 Подсказка
Высота = количество строк (внешний цикл). Ширина = количество блоков в каждой строке (внутренний цикл).
✅ Решение
for строка in range(4):
for блок in range(6):
поставь_блок()
вперёд()
# переход на следующий ряд
for i in range(3):
for j in range(5):
поставь_блок()
Сборка: Стена в действии
Представь: ты написал 3 строки кода, нажал «запустить» — и черепашка сама построила стену из 24 блоков. Без единого ручного клика.
Вот что делают циклы: превращают минуты ручной работы в секунды автоматической. Это как разница между тем, чтобы копать алмазы руками и использовать кирку с Efficiency V.
Черепашка рисует квадрат 5×5 из блоков. Заполни пропуски:
for строка in range(): for блок in range(): поставь_блок() вперёд() # вернуться в начало ряда и подняться ()for i in range(5): вперёд() ()вверх()
💡 Подсказка
Квадрат 5×5 — оба range() одинаковые. После каждого ряда черепашка разворачивается, идёт назад, снова разворачивается и поднимается на один блок вверх.
✅ Решение
for строка in range(5):
for блок in range(5):
поставь_блок()
вперёд()
развернись()
for i in range(5):
вперёд()
развернись()
вверх()
Итоги
Теперь ты знаешь:
- ✅
for i in range(n)— повтори n раз - ✅
range(5)даёт числа 0, 1, 2, 3, 4 - ✅ Вложенные циклы — цикл внутри цикла (строки × столбцы)
- ✅ Циклы превращают 100 строк в 3
Циклы в реальном мире:
- 📧 Спам-фильтр проверяет каждое письмо — цикл
- 🖥️ Пиксели экрана обновляются 60 раз/сек — цикл
- ⛏️ Minecraft генерирует чанки — вложенные циклы
В следующем уроке: научимся создавать свои команды — функции. Написал один раз, используешь сколько хочешь.