Цикл for
Когда заранее известно, сколько раз нужно выполнить что-то — используют цикл for. Он короче и чище, чем while со счётчиком: счётчик объявляется, изменяется и проверяется автоматически.
Числовой for
Синтаксис: for переменная = начало, конец do. Переменная автоматически увеличивается на 1 после каждого шага и цикл завершается когда она превысит конечное значение.
Переменная i существует только внутри цикла — снаружи она недоступна.
Шаг: третий параметр
По умолчанию шаг равен 1. Можно задать любой:
For vs while: когда что выбирать
| Ситуация | Выбор |
|---|---|
| Известно точное количество итераций | for |
| Нужен счётчик с постоянным шагом | for |
| Перебираем диапазон чисел | for |
| Количество итераций зависит от данных | while |
| Несколько условий выхода | while |
| Переменный шаг | while |
Ранний выход через break
break работает так же как в while — немедленно выходит из цикла:
Вложенные циклы for
Классический пример — работа с двумерными сетками. Черепашка строит стену ширину × высоту:
При вложенных циклах break выходит только из внутреннего:
Практические примеры
Заправка всеми предметами в инвентаре:
Найти самый большой стак в инвентаре:
Таблица умножения:
🚀 Задания
Задание 1 Напиши цикл, который выводит все чётные числа от 2 до 20. Потом — нечётные от 1 до 19.
Задание 2
Напиши обратный отсчёт: от 10 до 1, каждое число с паузой sleep(1). После последнего — вывести "Старт!".
Задание 3 Напиши цикл по слотам инвентаря (1–16): для каждого непустого слота выводить имя предмета и количество. Пустые слоты пропускать.
Задание 4
Черепашка должна построить квадратную платформу 5×5 из блоков первого слота. Напиши вложенный цикл for row / for col. После каждого ряда разворачивайся и переходи к следующему.
Задание 5
Напиши цикл, который ищет в слотах 1–16 предмет с именем "minecraft:coal". Найдя — выводи номер слота и количество. Если не нашёл ни одного — вывести "Уголь не найден".