Цикл for, функция range()

Слайд 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 - 1
  • range(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.