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

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

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

  • Використовуйте 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

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

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

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

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

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

Примітка

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

Рішення

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

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

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

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