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

bookЦикли While

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

Подивіться, як Олексій демонструє використання циклів while для обробки динамічних ситуацій:

Цикл while у Python виконує блок коду доти, доки задана умова залишається True.

Синтаксис

Щоб почати цикл while, потрібно визначити лічильник і після нього використати ключове слово while з булевою умовою. Після умови ставиться двокрапка :, яка позначає початок блоку коду циклу.

Цикл виконуватиметься повторно доти, доки умова не стане False. Зазвичай лічильник оновлюється всередині циклу, щоб у підсумку умова стала False і цикл завершився.

Розгляньте цей приклад циклу while:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

У цьому прикладі queue_length виступає як лічильна змінна, що починається з 5. З кожною ітерацією циклу значення queue_length зменшується на 1, доки не досягне 0. У цей момент цикл завершується, оскільки умова 0 > 0 оцінюється як False.

Примітка

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

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

Уявіть, що ви керуєте запасами молока в продуктовому магазині. Необхідно стежити, щоб запаси не опускалися нижче певного рівня, а коли це трапляється — поповнювати їх до потрібної кількості.

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

Наприклад, уявімо, що працівник магазину може поповнити лише фіксовану кількість молока за один раз (наприклад, 20 упаковок за одне поповнення). Якщо запас ще не відновлено повністю, працівник повертається на склад за наступною партією молока.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Примітка

milk_stock += restock_quantity еквівалентно запису milk_stock = milk_stock + restock_quantity. Це просто більш лаконічний і зрозумілий спосіб виразити ту саму операцію.

Блок-схема вище ілюструє логіку роботи циклу while для керування запасами молока. Зверніть увагу, що змінна-лічильник milk_stock, яка починається з 15, збільшується на значення restock_quantity з кожною ітерацією циклу.

Цикл виконується доки milk_stock перевищить min_stock порогове значення 50, після чого зупиняється.

Завдання

Swipe to start coding

Керування запасами продуктового магазину за допомогою while-циклів для забезпечення мінімального рівня запасів для Bread, Eggs та Apples. Кількість для поповнення зберігається у словнику.

  • Використати цикл while для перевірки, чи запас "Bread" нижчий за мінімальний. Якщо так, збільшити його запас, використовуючи відповідну кількість для поповнення зі словника.
  • Повторити цю ж логіку для "Eggs" та "Apples", кожен у власному циклі while.
  • Після поповнення пройтись по словнику inventory за допомогою циклу for і вивести фінальні рівні запасів для всіх товарів.

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

  • Для кожного поповненого товару вивести:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Після завершення поповнення вивести Final Inventory after restocking: і оновлені рівні запасів:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Додати порожній рядок перед фінальним інвентарем, використовуючи \n.
  • Використовувати f-рядки для форматування та одинарні лапки всередині подвійних лапок для ключів словника.

Примітка

Щоб уникнути конфліктів синтаксису у f-рядках, використовуйте подвійні лапки навколо рядка та одинарні всередині: f"Bread stock is low: {inventory['Bread'][0]} units."
Використовуйте \n для початку нового рядка у виводі: "First line.\nSecond line."

Рішення

Все було зрозуміло?

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 2.17

bookЦикли While

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

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

Подивіться, як Олексій демонструє використання циклів while для обробки динамічних ситуацій:

Цикл while у Python виконує блок коду доти, доки задана умова залишається True.

Синтаксис

Щоб почати цикл while, потрібно визначити лічильник і після нього використати ключове слово while з булевою умовою. Після умови ставиться двокрапка :, яка позначає початок блоку коду циклу.

Цикл виконуватиметься повторно доти, доки умова не стане False. Зазвичай лічильник оновлюється всередині циклу, щоб у підсумку умова стала False і цикл завершився.

Розгляньте цей приклад циклу while:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

У цьому прикладі queue_length виступає як лічильна змінна, що починається з 5. З кожною ітерацією циклу значення queue_length зменшується на 1, доки не досягне 0. У цей момент цикл завершується, оскільки умова 0 > 0 оцінюється як False.

Примітка

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

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

Уявіть, що ви керуєте запасами молока в продуктовому магазині. Необхідно стежити, щоб запаси не опускалися нижче певного рівня, а коли це трапляється — поповнювати їх до потрібної кількості.

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

Наприклад, уявімо, що працівник магазину може поповнити лише фіксовану кількість молока за один раз (наприклад, 20 упаковок за одне поповнення). Якщо запас ще не відновлено повністю, працівник повертається на склад за наступною партією молока.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Примітка

milk_stock += restock_quantity еквівалентно запису milk_stock = milk_stock + restock_quantity. Це просто більш лаконічний і зрозумілий спосіб виразити ту саму операцію.

Блок-схема вище ілюструє логіку роботи циклу while для керування запасами молока. Зверніть увагу, що змінна-лічильник milk_stock, яка починається з 15, збільшується на значення restock_quantity з кожною ітерацією циклу.

Цикл виконується доки milk_stock перевищить min_stock порогове значення 50, після чого зупиняється.

Завдання

Swipe to start coding

Керування запасами продуктового магазину за допомогою while-циклів для забезпечення мінімального рівня запасів для Bread, Eggs та Apples. Кількість для поповнення зберігається у словнику.

  • Використати цикл while для перевірки, чи запас "Bread" нижчий за мінімальний. Якщо так, збільшити його запас, використовуючи відповідну кількість для поповнення зі словника.
  • Повторити цю ж логіку для "Eggs" та "Apples", кожен у власному циклі while.
  • Після поповнення пройтись по словнику inventory за допомогою циклу for і вивести фінальні рівні запасів для всіх товарів.

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

  • Для кожного поповненого товару вивести:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Після завершення поповнення вивести Final Inventory after restocking: і оновлені рівні запасів:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Додати порожній рядок перед фінальним інвентарем, використовуючи \n.
  • Використовувати f-рядки для форматування та одинарні лапки всередині подвійних лапок для ключів словника.

Примітка

Щоб уникнути конфліктів синтаксису у f-рядках, використовуйте подвійні лапки навколо рядка та одинарні всередині: f"Bread stock is low: {inventory['Bread'][0]} units."
Використовуйте \n для початку нового рядка у виводі: "First line.\nSecond line."

Рішення

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

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

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

close

Awesome!

Completion rate improved to 2.17
Секція 5. Розділ 2
single

single

some-alt