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

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

book
Функція Range

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

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

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

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

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

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

Загальний синтаксис функції range:

python
  • start: це перше число у послідовності. Є необов'язковим; якщо його не вказати, послідовність почнеться з 0.

  • stop: це останнє число у послідовності, але послідовність зупиниться перед цим числом. Цей аргумент є обов'язковим.

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

Тепер, коли ви ознайомилися із синтаксисом функції range(), розглянемо приклади, щоб побачити, як кожен аргумент — start, stop і step — впливає на поведінку циклів.

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

Коли функція 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

Примітка

Послідовність починається з 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

Примітка

За такого способу індексації, де кінцевий елемент виключається, можна легко обчислити кількість елементів у послідовності, віднявши аргумент 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() можна запланувати завдання на кожен день тижня, щоб усі відділи магазину були охоплені.

Цей цикл виконується 7 разів, оскільки range(7) створює числа від 0 до 6 (усього 7 елементів). У кожній ітерації змінна day приймає значення від 0 до 6, які потім використовуються для доступу до елементів списків weekly_tasks та weekdays.

123456789101112131415161718192021
# List of daily tasks for a week weekly_tasks = [ "Restock Fruits", "Clean Dairy Section", "Review Meat Inventory", "Restock Vegetables", "Check Bakery Expiry Dates", "Organize Front Displays", "Prepare Weekly Sales Report" ] # List of weekdays corresponding to each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Loop through each day using the range function for day in range(7): task = weekly_tasks[day] # Access the task corresponding to the current day weekday = weekdays[day] # Access the corresponding weekday print(f"{weekday} Task: {task}")
copy
Завдання

Swipe to start coding

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

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

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

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

Примітка

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

Рішення

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

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

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

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

Запитати АІ

expand
ChatGPT

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

book
Функція Range

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

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

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

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

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

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

Загальний синтаксис функції range:

python
  • start: це перше число у послідовності. Є необов'язковим; якщо його не вказати, послідовність почнеться з 0.

  • stop: це останнє число у послідовності, але послідовність зупиниться перед цим числом. Цей аргумент є обов'язковим.

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

Тепер, коли ви ознайомилися із синтаксисом функції range(), розглянемо приклади, щоб побачити, як кожен аргумент — start, stop і step — впливає на поведінку циклів.

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

Коли функція 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

Примітка

Послідовність починається з 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

Примітка

За такого способу індексації, де кінцевий елемент виключається, можна легко обчислити кількість елементів у послідовності, віднявши аргумент 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() можна запланувати завдання на кожен день тижня, щоб усі відділи магазину були охоплені.

Цей цикл виконується 7 разів, оскільки range(7) створює числа від 0 до 6 (усього 7 елементів). У кожній ітерації змінна day приймає значення від 0 до 6, які потім використовуються для доступу до елементів списків weekly_tasks та weekdays.

123456789101112131415161718192021
# List of daily tasks for a week weekly_tasks = [ "Restock Fruits", "Clean Dairy Section", "Review Meat Inventory", "Restock Vegetables", "Check Bakery Expiry Dates", "Organize Front Displays", "Prepare Weekly Sales Report" ] # List of weekdays corresponding to each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Loop through each day using the range function for day in range(7): task = weekly_tasks[day] # Access the task corresponding to the current day weekday = weekdays[day] # Access the corresponding weekday print(f"{weekday} Task: {task}")
copy
Завдання

Swipe to start coding

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

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

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

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

Примітка

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

Рішення

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

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

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

Секція 5. Розділ 3
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Ми дуже хвилюємося, що щось пішло не так. Що трапилося?
some-alt