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

Зміст курсу

Вступ до Python

Вступ до Python

1. Початок роботи
2. Змінні та Типи
3. Умовні оператори
4. Інші типи даних
5. Цикли
6. Функції

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

У цьому завданні ви будете працювати з двома списками: один містить продукти на акції для кожного дня, а інший містить назви днів тижня. Ваше завдання - написати цикл, який перебирає обидва списки та виводить поточний день тижня разом із відповідною акцією.

Інструкції до коду

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

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

  • Для кожної ітерації виводьте день тижня та акцію у форматі: <weekday>: Promotion on <promotion>.

Примітка

Зверніть увагу на кількість елементів у списках.

Рішення

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

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

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

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

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

У цьому завданні ви будете працювати з двома списками: один містить продукти на акції для кожного дня, а інший містить назви днів тижня. Ваше завдання - написати цикл, який перебирає обидва списки та виводить поточний день тижня разом із відповідною акцією.

Інструкції до коду

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

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

  • Для кожної ітерації виводьте день тижня та акцію у форматі: <weekday>: Promotion on <promotion>.

Примітка

Зверніть увагу на кількість елементів у списках.

Рішення

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

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

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

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