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

bookЦикли For

Ласкаво просимо до розділу, присвяченого циклам!

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

Долучайтеся до Алекса, який демонструє використання циклів for для спрощення операцій у нашому продуктовому магазині:

Використання циклів for у Python дозволяє виконувати блок коду повторно для кожного елемента у колекції (ітерабельному об'єкті). Ось що потрібно знати про цикли for:

Синтаксис

Цикл for починається з ключового слова for, після якого йде ім'я змінної, наприклад, item, що представляє кожен елемент у послідовності. Далі використовується ключове слово in і сам ітерабельний об'єкт, наприклад, groceryItems. Блок коду всередині циклу виконується один раз для кожного елемента.

У цьому прикладі item виступає як змінна-ітератор, яка послідовно отримує кожен елемент зі списку groceryItems і виконує функцію print() для кожного з них:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Ітерація означає процес багаторазового виконання блоку коду. Python підтримує два основних типи ітерації:

Детермінована ітерація

Коли кількість ітерацій відомо заздалегідь. Цикли for є класичним прикладом, вони автоматично зупиняються після досягнення кінця послідовності.

Недетермінована ітерація

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

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

Цикли for у Python можна використовувати з будь-яким ітерованим об'єктом (lists, tuples, dictionaries, strings), що дозволяє здійснювати обробку даних для кожного елемента окремо.

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

Ось як можна використати цикл for для ітерації по елементах рядка та кортежу, подібно до того, як це робиться зі списками:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

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

Ось чого слід очікувати при прямій ітерації по словнику:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Зверніть увагу, що ітераторна змінна product отримує лише ключі словника.

Щоб ітеруватися по значеннях словника, можна використати метод values().

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

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Якщо потрібно отримати ключі та значення одночасно, метод items() дозволяє перебирати пари ключ-значення у словнику.

Щоб використати цей метод у циклі for, вказуємо дві змінні перед ключовим словом in — одну для ключа (product), іншу для значення (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Примітка

У цьому прикладі використовується f-рядки (також відомі як форматовані рядкові літерали) для безпосереднього вставлення змінних у рядки. Синтаксис простий: додайте f перед відкриваючою лапкою " і розмістіть змінні або вирази у фігурних дужках {} всередині рядка. Цей метод робить поєднання рядків і змінних у командах print значно зрозумілішим, тому варто його вивчити.

Використовуючи знання про if/else, булеві оператори та цикли for, можна виконати просту перевірку інвентарю у словнику:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Примітка

Ви могли помітити, що ми розмістили оператори if всередині циклу for, що додало додатковий відступ для блоку if. Як згадувалося раніше, кожен блок коду з відступом можна розглядати як незалежний, незалежно від його розташування. Головне — переконатися, що відступи між ними послідовні та правильні.

Завдання

Swipe to start coding

Керуйте запасами та акціями у продуктовому магазині, перебираючи інвентар, перевіряючи умови поповнення запасів і застосовуючи акції.

Перебирайте кожен продукт у словнику inventory та:

  • Якщо поточний запас продукту менший або дорівнює його мінімальному запасу:
    • Виведіть повідомлення про необхідність поповнення запасу.
    • Збільшіть запас на 20 і оновіть значення у словнику.
    • Потім виведіть оновлений запас.
  • Використайте ще одну інструкцію if, щоб перевірити, чи існує продукт у словнику promotions, і виведіть відповідне повідомлення. В іншому випадку виведіть повідомлення про відсутність акцій.

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

Для кожного товару виведіть:

  • --- Processing: <item> ---
  • Якщо потрібно поповнення запасу:
    <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>

Updated stock for <item>: <updated_stock>

  • Якщо акція існує:
    Promotion for <item>: <promotion_details>
  • Якщо ні:
    No promotions for <item>

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 2.17

bookЦикли For

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

Ласкаво просимо до розділу, присвяченого циклам!

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

Долучайтеся до Алекса, який демонструє використання циклів for для спрощення операцій у нашому продуктовому магазині:

Використання циклів for у Python дозволяє виконувати блок коду повторно для кожного елемента у колекції (ітерабельному об'єкті). Ось що потрібно знати про цикли for:

Синтаксис

Цикл for починається з ключового слова for, після якого йде ім'я змінної, наприклад, item, що представляє кожен елемент у послідовності. Далі використовується ключове слово in і сам ітерабельний об'єкт, наприклад, groceryItems. Блок коду всередині циклу виконується один раз для кожного елемента.

У цьому прикладі item виступає як змінна-ітератор, яка послідовно отримує кожен елемент зі списку groceryItems і виконує функцію print() для кожного з них:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Ітерація означає процес багаторазового виконання блоку коду. Python підтримує два основних типи ітерації:

Детермінована ітерація

Коли кількість ітерацій відомо заздалегідь. Цикли for є класичним прикладом, вони автоматично зупиняються після досягнення кінця послідовності.

Недетермінована ітерація

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

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

Цикли for у Python можна використовувати з будь-яким ітерованим об'єктом (lists, tuples, dictionaries, strings), що дозволяє здійснювати обробку даних для кожного елемента окремо.

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

Ось як можна використати цикл for для ітерації по елементах рядка та кортежу, подібно до того, як це робиться зі списками:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

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

Ось чого слід очікувати при прямій ітерації по словнику:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Зверніть увагу, що ітераторна змінна product отримує лише ключі словника.

Щоб ітеруватися по значеннях словника, можна використати метод values().

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

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Якщо потрібно отримати ключі та значення одночасно, метод items() дозволяє перебирати пари ключ-значення у словнику.

Щоб використати цей метод у циклі for, вказуємо дві змінні перед ключовим словом in — одну для ключа (product), іншу для значення (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Примітка

У цьому прикладі використовується f-рядки (також відомі як форматовані рядкові літерали) для безпосереднього вставлення змінних у рядки. Синтаксис простий: додайте f перед відкриваючою лапкою " і розмістіть змінні або вирази у фігурних дужках {} всередині рядка. Цей метод робить поєднання рядків і змінних у командах print значно зрозумілішим, тому варто його вивчити.

Використовуючи знання про if/else, булеві оператори та цикли for, можна виконати просту перевірку інвентарю у словнику:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Примітка

Ви могли помітити, що ми розмістили оператори if всередині циклу for, що додало додатковий відступ для блоку if. Як згадувалося раніше, кожен блок коду з відступом можна розглядати як незалежний, незалежно від його розташування. Головне — переконатися, що відступи між ними послідовні та правильні.

Завдання

Swipe to start coding

Керуйте запасами та акціями у продуктовому магазині, перебираючи інвентар, перевіряючи умови поповнення запасів і застосовуючи акції.

Перебирайте кожен продукт у словнику inventory та:

  • Якщо поточний запас продукту менший або дорівнює його мінімальному запасу:
    • Виведіть повідомлення про необхідність поповнення запасу.
    • Збільшіть запас на 20 і оновіть значення у словнику.
    • Потім виведіть оновлений запас.
  • Використайте ще одну інструкцію if, щоб перевірити, чи існує продукт у словнику promotions, і виведіть відповідне повідомлення. В іншому випадку виведіть повідомлення про відсутність акцій.

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

Для кожного товару виведіть:

  • --- Processing: <item> ---
  • Якщо потрібно поповнення запасу:
    <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>

Updated stock for <item>: <updated_stock>

  • Якщо акція існує:
    Promotion for <item>: <promotion_details>
  • Якщо ні:
    No promotions for <item>

Рішення

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

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

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

close

Awesome!

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

single

some-alt