Объяснение к уроку
После этого урока ты сможешь:
range() для числовых повторений и предсказывать исключаемое конечное значение.enumerate(), когда одновременно нужны порядковый номер и значение.Циклы for в Python обычно перебирают значения напрямую:
for service in services:
print(service)Это часто нагляднее, чем ручное управление индексами. Используй range(), когда задача действительно связана с числами, позициями или фиксированным количеством повторений.
range(start, stop) включает start, но останавливается перед stop. Третий аргумент задаёт шаг:
range(2, 9, 2)генерирует 2, 4, 6 и 8.
Когда тебе нужны номер для отображения и само значение вместе, enumerate(values, start=1) обычно читаемее, чем range(len(values)).
Циклы также часто обновляют итоговые суммы или счётчики. Инициализируй накопитель перед циклом, обновляй его внутри блока и используй финальный результат после завершения цикла.
Предоставленные последовательности в этом уроке служат входными данными для практики циклов. Полные операции со списками рассматриваются в разделе о структурах данных.
Переменная цикла принимает каждое значение по очереди.
regions = ["us", "eu", "apac"]
for region in regions:
print(f"Region: {region}")Вывод:
Region: us
Region: eu
Region: apacИндекс не требуется, так как задача заключается в обработке самих регионов.
Конечное значение не включается.
for attempt in range(1, 4):
print(f"Attempt {attempt}")Вывод:
Attempt 1
Attempt 2
Attempt 3Цикл останавливается перед 4.
Третий аргумент управляет расстоянием между генерируемыми значениями.
for port in range(9000, 9005, 2):
print(port)Вывод:
9000
9002
9004Последовательность увеличивается на два каждый раз.
enumerate()enumerate() даёт тебе и счётчик, и текущее значение.
workers = ["api", "queue", "mailer"]
for number, worker in enumerate(workers, start=1):
print(f"{number}. {worker}")Вывод:
1. api
2. queue
3. mailerОтображаемая нумерация начинается с единицы без ручной арифметики индексов.
Инициализируй накопитель до цикла.
durations = [12, 18, 15]
total = 0
for duration in durations:
total += duration
print(f"Total: {total}")Вывод:
Total: 45Каждая итерация добавляет одну длительность к накапливаемому итогу.
| Потребность | Предпочтительный цикл |
|---|---|
| Работать с каждым значением | for item in items |
| Повторять по числам | for number in range(...) |
| Нумеровать каждое значение | for number, item in enumerate(...) |
| Сформировать итог | Инициализировать до цикла, обновлять внутри |
range() будет включено.