Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Функція Range | Цикли
Вступ до Python
Секція 5. Розділ 5
single

single

bookФункція Range

Свайпніть щоб показати меню

Функція range() у Python — це вбудована функція, яка генерує послідовність чисел.

Її часто використовують для ітерації по послідовності в циклах, особливо коли потрібно виконати цикл певну кількість разів.

Це ідеально підходить для виконання завдань із передбачуваним шаблоном повторення, наприклад, поповнення полиць або планування розпродажів у продуктовому магазині.

Розглянемо, як Олексій ефективно використовує функцію range() для управління рутинними завданнями у нашому продуктовому магазині:

Синтаксис і аргументи

Функція range() дозволяє створювати послідовність чисел для використання в циклах. Її можна використовувати з трьома аргументами:

range(start, stop, step)
  • start: число, з якого починається послідовність; за замовчуванням — 0, якщо не вказано;
  • stop: число, на якому послідовність закінчується, але це число не включається;
  • step: крок, на який збільшується (або зменшується) значення кожного разу; за замовчуванням — 1, якщо не вказано.

Можна використовувати один, два або всі три аргументи для контролю підрахунку в циклі.

Один аргумент

Коли функція range() отримує один аргумент, він розглядається як параметр stop.

У нашому прикладі вона генерує послідовність із 7 елементів, починаючи з 0 і закінчуючи на 6. Цикл ітеративно проходить ці елементи, що відповідає першим 7 дням роботи магазину.

123
# Announce store opening every day for 7 days for day in range(7): print(f"Good morning! The store is now open on day {day}.")
copy
Note
Примітка

Послідовність починається з 0 і закінчується на 6. Це відбувається тому, що Python часто починає відлік з 0, що зменшує потребу коригувати індексацію у багатьох ситуаціях.

Два аргументи

Коли вказано два аргументи, наприклад 25 (start) і 32 (stop), range() створює послідовність від 25 до 31 (оскільки значення stop не входить до послідовності).

123
# Planning seasonal sale days in the last week of December for day in range(25, 32): print(f"Seasonal sale on December {day}.")
copy
Note
Примітка

За такого способу індексації, де кінцевий елемент виключається, можна легко обчислити кількість елементів у послідовності, віднявши аргумент start від аргументу stop. Наприклад, 32 - 25 = 7, тобто у послідовності 7 елементів.

Три аргументи

Додавши третій аргумент до range(), ви вводите значення step, яке визначає крок між кожним числом у послідовності.

У цьому прикладі range() приймає 1 (start), 13 (stop) та 3 (step), утворюючи числа 1, 4, 7, 10. Вони можуть позначати початкові години змін персоналу протягом 12-годинного робочого дня.

123
# Schedule staff shifts every three hours throughout a 12-hour day for hour in range(1, 13, 3): print(f"Staff shift starts at hour {hour}.")
copy

Приклад застосування

Функцію range() можна використовувати для перебору кожного дня тижня та призначення завдання на цей день. Це допомагає організувати виконання необхідних справ у продуктовому магазині протягом усього тижня.

12345678910111213141516171819
# List of simple daily tasks for a week tasks = [ "Fruits", "Dairy", "Meat", "Veggies", "Bakery", "Displays", "Sales Report" ] # List of weekdays for each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Print the task for each weekday for day in range(7): print(f"{weekdays[day]}: {tasks[day]}")
copy

У наведеному вище коді функція range() генерує числа від 0 до 6, дозволяючи циклу отримувати доступ до кожного дня та відповідного завдання за індексом, що спрощує організацію щоденних завдань у продуктовому магазині.

Завдання

Проведіть, щоб почати кодувати

Використайте два спискиweekdays та daily_promotions — для виведення акції, призначеної кожному дню тижня.

  • Використайте цикл for з функцією range(), щоб ітеруватися за індексами списків.
  • На кожній ітерації:
    • Отримайте поточний weekday зі списку weekdays.
    • Отримайте відповідну акцію зі списку daily_promotions за тим самим індексом.
  • Виведіть обидва значення у вказаному форматі.

Вимоги до виводу

  • Для кожного дня виведіть:
    <weekday>: Promotion on <promotion>

Переконайтеся, що обидва списки містять однакову кількість елементів, щоб уникнути помилок індексації.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 5
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt