Найти в Дзене

Функция range в Python

Встроенная функция range() возвращает неизменяемую последовательность чисел, которая обычно используется для циклического повторения определённое количество раз. Этот набор чисел имеет собственный тип данных, который называется range. Примечание: «Неизменяемая» 🔒 означает, что её нельзя изменить после создания. Создание диапазонов Функцию range() можно вызывать с 1, 2 или 3 аргументами, используя следующий синтаксис: Вызов range() с одним аргументом Если функция вызывается только с одним аргументом, этот аргумент представляет значение stop (конец). 👉 Аргумент start (начало) является необязательным, и если он не указан, по умолчанию принимается значение 0. range(10) возвращает последовательность чисел от 0 до 9. Аргумент start, 0, включается, а аргумент stop, 10 - не включается). Пример
Создадим диапазон чисел от 0 до 9: Вызов range() с двумя аргументами Если функция вызывается с двумя аргументами, первый аргумент представляет значение start, а второй - значение stop. range(3, 10) во

Встроенная функция range() возвращает неизменяемую последовательность чисел, которая обычно используется для циклического повторения определённое количество раз.

Этот набор чисел имеет собственный тип данных, который называется range.

Примечание: «Неизменяемая» 🔒 означает, что её нельзя изменить после создания.

Создание диапазонов

Функцию range() можно вызывать с 1, 2 или 3 аргументами, используя следующий синтаксис:

-2

Вызов range() с одним аргументом

Если функция вызывается только с одним аргументом, этот аргумент представляет значение stop (конец).

👉 Аргумент start (начало) является необязательным, и если он не указан, по умолчанию принимается значение 0.

range(10) возвращает последовательность чисел от 0 до 9.

Аргумент start, 0, включается, а аргумент stop, 10 - не включается).

Пример
Создадим диапазон чисел от 0 до 9:

-3

Вызов range() с двумя аргументами

Если функция вызывается с двумя аргументами, первый аргумент представляет значение start, а второй - значение stop.

range(3, 10) возвращает последовательность чисел от 3 до 9:

-4

Пример
Создадим диапазон чисел от 3 до 9:

-5

Вызов range() с тремя аргументами

Если функция вызывается с тремя аргументами, третий аргумент представляет значение step (шаг).

Значение step означает разницу между каждым числом в последовательности. Оно является необязательным, и если не указано, по умолчанию равно 1.

range(3, 10, 2) возвращает последовательность чисел от 3 до 9 с шагом 2:

-6

Использование диапазонов

Диапазоны часто используются в циклах for для перебора последовательности чисел.

Пример
Переберем каждое значение в диапазоне:

Использование List для отображения диапазонов

Объект range - это тип данных, представляющий неизменяемую последовательность чисел, и его нельзя отобразить напрямую.

Поэтому диапазоны часто преобразуют в списки для отображения.

Пример
Преобразуем разные диапазоны в списки:

-7

Поддиапазоны

Как и другие последовательности, из диапазонов можно делать поддиапазоны для извлечения подпоследовательности.

Пример
Извлечем подпоследовательность из диапазона:

-8

Примечание: Первый оператор print возвращает значение по индексу 2, а второй оператор print возвращает новый объект range - от индекса 0 до 3 (не включая 3).

Проверка вхождения (Membership Testing) 🔍

Диапазоны поддерживают проверку вхождения с помощью оператора in.

Пример
Проверим, присутствуют ли числа 6 и 7 в диапазоне:

-9

Возвращаемое значение - True, если число присутствует в диапазоне, и False, если отсутствует.

Длина 📏

Диапазоны поддерживают функцию len() для получения количества элементов.

Пример
Получим длину диапазона:

-10

⚡ Малоизвестный трюк: Создание обратного отсчета ⏳

Объекты range отлично подходят для создания последовательностей в обратном порядке! Это может быть полезно для таймеров или обработки элементов списка с конца. Просто укажите отрицательный шаг, убедившись, что start больше stop.

Пример:
Создадим обратный отсчет от 5 до 1 для запуска "ракеты" 🚀:

-11

🎯 Задачка для Python-разработчиков!

Помогите другу-студентке 📚 написать программу для планирования недели!

Условия:

  • Неделя состоит из 7 дней (понедельник-воскресенье)
  • Учебные дни: понедельник-пятница
  • Выходные: суббота-воскресенье
  • Каждый день нужно выводить напоминания

Задача:
Напишите программу, которая использует функцию range() для:

  1. 🔄 Прохода по всем дням недели
  2. 🏫 Вывода "Учеба" для учебных дней
  3. 😴 Вывода "Отдых" для выходных
  4. ⏰ Добавления номера дня (1-7)

Пример вывода:

День 1: Понедельник - Учеба

День 2: Вторник - Учеба

...

День 6: Суббота - Отдых

День 7: Воскресенье - Отдых

💡 Подсказки:

  • Используйте список с названиями дней недели
  • Применяйте range() для цикла по дням
  • Воспользуйтесь условиями if для определения типа дня

Напишите своё решение в комментариях! 👇

🛠️ Заготовка для начала кода:

-12

Удачи в решении! ✨🚀