Слайд 1
📈 Функция range() в цикле for
Урок посвящён циклу for и функции range(), которая позволяет
генерировать последовательности чисел. Мы изучим все три варианта её использования.
🔹 Функция range() с одним параметром
for i in range(10):
print('Привет', i)
В данном случае range(10) создаёт последовательность чисел от 0 до 9.
То есть функция range(stop) генерирует числа от 0 до stop - 1.
Итог: цикл выполнится 10 раз, а переменная i примет значения от 0 до 9.
🔹 Функция range() с двумя параметрами
Если нужно начать не с 0, а с другого числа, используем перегрузку с двумя параметрами:
range(start, stop).
for i in range(100, 1000):
if i % 10 == 7:
print(i)
Этот код выводит все трёхзначные числа, оканчивающиеся на 7.
Важно помнить — правая граница (stop) не включается, поэтому пишем 1000, а не 999.
Важно: если первый параметр больше второго (например, range(10, 1)), будет сгенерирована пустая последовательность.
Итого:
range(stop)→ 0, 1, 2, ..., stop - 1range(start, stop)→ start, start+1, ..., stop - 1
🔹 Функция range() с тремя параметрами
Третий параметр задаёт шаг генерации — величину, на которую увеличивается (или уменьшается) текущее значение.
for i in range(56, 171, 2):
print(i)
Код выведет все чётные числа от 56 до 170 включительно.
Эквивалентный, но менее эффективный вариант:
for i in range(56, 171):
if i % 2 == 0:
print(i)
🔹 Отрицательный шаг генерации
Если шаг отрицательный, последовательность будет убывать. В этом случае первый параметр должен быть больше второго.
for i in range(5, 0, -1):
print(i, end=' ')
print('Взлетаем!!!')
Результат:
5 4 3 2 1 Взлетаем!!!
⚠️ Если шаг отрицательный, а начальное значение меньше конечного (например, range(1, 10, -1)), результат будет пустым.
🔹 Примеры последовательностей
| Вызов функции | Последовательность чисел |
|---|---|
range(10) | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
range(1, 10) | 1, 2, 3, 4, 5, 6, 7, 8, 9 |
range(3, 7) | 3, 4, 5, 6 |
range(7, 3) | пустая последовательность |
range(2, 15, 3) | 2, 5, 8, 11, 14 |
range(9, 2, -1) | 9, 8, 7, 6, 5, 4, 3 |
range(3, 10, -2) | пустая последовательность |
📘 Примечания
- ✅ Функция
range()может принимать от 1 до 3 параметров:range(stop),range(start, stop),range(start, stop, step). - ✅ start — начальное число (включительно).
- ✅ stop — конечное число (не включительно).
- ✅ step — шаг (может быть отрицательным, но не равным нулю).
- ✅ Функция
range()генерирует только целые числа. - ⚠️ Шаг
0недопустим — вызовет ошибку:ValueError: range() arg 3 must not be zero.