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

Зміст курсу

Вступ до Python

Вступ до Python

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

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.
  • Всередині циклу отримайте поточний запас та мінімальний запас для кожного продукту зі списку інвентарю.
  • Напишіть оператор if, який перевіряє, чи поточний запас менше або дорівнює мінімальному запасу, викликаючи повідомлення про поповнення.
  • Коли умова поповнення виконується, збільшіть поточний запас на 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Перейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

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

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.
  • Всередині циклу отримайте поточний запас та мінімальний запас для кожного продукту зі списку інвентарю.
  • Напишіть оператор if, який перевіряє, чи поточний запас менше або дорівнює мінімальному запасу, викликаючи повідомлення про поповнення.
  • Коли умова поповнення виконується, збільшіть поточний запас на 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Перейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

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