Представь, что тебе нужно пять раз вывести ракету. Можно скопировать print(rocket) пять раз, но программисты не любят повторять одну и ту же работу вручную. Для этого у Python есть цикл for.
Цикл получает команду и повторяет её столько раз, сколько ты попросишь.
Знакомься, цикл for
for i in range(5):
print('Запускаем двигатель!')
Этот код выведет сообщение ровно пять раз. Давай разберём его по частям:
forговорит Python: «Начинаем повторение».iзапоминает номер текущего круга.range(5)создаёт пять кругов.- Двоеточие
:сообщает, что дальше начнётся повторяемый блок. - Отступ показывает, какие команды находятся внутри цикла.
Как правильно сделать отступ
Напиши строку цикла с двоеточием, нажми Enter, а затем Tab один раз. Команда сдвинется вправо и окажется внутри цикла:
for i in range(3):
print('Проверяем системы')
Обычно редактор превращает нажатие Tab в четыре пробела. Не нужно считать их вручную — просто нажми Tab один раз. Главное, чтобы команды одного блока начинались на одном уровне.
for i in range(3):
print('Зажигание')
print('Двигатель работает')
Здесь обе команды повторятся три раза, потому что у них одинаковый отступ.
А эта команда выполнится только один раз — уже после цикла:
for i in range(3):
print('Зажигание')
print('Проверка завершена')
Не смешивай Tab и пробелы вручную в одном блоке: из-за разных отступов Python может запутаться.
Что хранится в i
На каждом круге цикла Python записывает в i новое число. Счёт начинается с нуля:
for i in range(3):
print(i)
Результат:
0
1
2
Кругов всё равно три. Просто в программировании отсчёт часто начинается с нуля.
Если хочешь показать человеку привычные номера от 1 до 3, прибавь единицу:
for i in range(3):
print(f'Кадр {i + 1}')
Собираем кадры ракеты
Цикл отлично подходит для первых кадров анимации:
import time
for i in range(5):
print(f'Кадр {i + 1}: ракета готова 🚀')
time.sleep(0.3)
Python пять раз выведет новый кадр и после каждого сделает короткую паузу. Позже содержимое кадра можно менять — так и появляется движение.
enumerate — номер и значение сразу
Когда перебираешь список, часто нужен и индекс, и само значение. Можно считать вручную через i + 1, но Python предлагает удобнее — enumerate():
planets = ['Меркурий', 'Венера', 'Земля']
for i, planet in enumerate(planets):
print(f'{i}: {planet}')
Результат:
0: Меркурий
1: Венера
2: Земля
enumerate() на каждом круге отдаёт пару значений — поэтому в цикле два имени через запятую: i для номера, planet для самого элемента.
Аргумент start
По умолчанию счёт идёт с нуля. Если нужно начать с другого числа, передай аргумент start:
for i, planet in enumerate(planets, start=1):
print(f'{i}. {planet}')
Результат:
1. Меркурий
2. Венера
3. Земля
Это удобнее, чем писать i + 1 в каждом print.
Если что-то не работает
SyntaxErrorвозлеfor— проверь двоеточие в конце строки.IndentationError— после Enter нажми Tab перед командой внутри цикла.- Команда выполнилась один раз — скорее всего, она осталась без отступа и не попала в цикл.
- Повторился лишний код — убери отступ у команды, которая должна выполняться после цикла.
Запомни простую схему: написал for, указал количество повторений через range(), поставил двоеточие, нажал Enter и Tab. Готово — теперь повторяющуюся работу выполняет Python!
💬 Комментарии (0)
Комментариев пока нет
Станьте первым, кто поделится мнением об этой статье!