Зміст курсу
Вступ до Python
Вступ до Python
Цикли For
Ласкаво просимо до розділу, присвяченого циклам!
У цьому розділі ми зануримося в те, як цикли служать ключовим інструментом для автоматизації повторюваних завдань і є необхідними для ефективної обробки списків та інших ітерабельних типів даних.
Приєднуйтесь до Алекса, який демонструє використання циклів for
для спрощення операцій у нашому продуктовому магазині:
Використання циклів for
у Python дозволяє виконувати блок коду повторно для кожного елемента в колекції (ітерабельному об'єкті). Ось що вам потрібно знати про цикли for
:
Синтаксис
Ініціюйте цикл for
за допомогою ключового слова for
, за яким слідує ім'я змінної, наприклад, item
, щоб представляти кожен елемент у послідовності. Потім слідує ключове слово in
і ітерабельний об'єкт, наприклад, groceryItems
. Блок коду в циклі виконується один раз для кожного елемента.
У цьому прикладі item
діє як змінна-ітератор, яка послідовно отримує доступ до кожного елемента в списку groceryItems
і виконує функцію print()
для кожного з них:
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
Ітерація відноситься до процесу виконання блоку коду повторно. Python підтримує два основні типи ітерації:
Визначена ітерація
Коли кількість ітерацій відомо заздалегідь. for
цикли є класичним прикладом, автоматично зупиняючись коли досягають кінця послідовності.
Невизначена ітерація
В якій виконання триває поки не буде виконано певну умову, зазвичай обробляється while
циклами, які будуть детально розглянуті в наступному розділі.
Приклад застосувань
for
цикли в Python можуть використовуватися з будь-яким ітерованим об'єктом (lists
, tuples
, dictionaries
, strings
), дозволяючи маніпулювати даними на основі кожного елемента.
Чи потрібно вам отримати доступ до елементів у списку, ключів або значень у словнику, або символів у рядку, for
цикли надають чіткий синтаксис, що спрощує код для повторюваних завдань.
Ось як ви можете використовувати for
цикл для ітерації по елементах у рядку та кортежі, подібно до того, як ми бачили зі списками:
# 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)
При використанні циклу for
з словником, ітерація безпосередньо по словнику за замовчуванням буде проходити по його ключах.
Ось чого очікувати, коли ви безпосередньо ітеруєте по словнику:
# 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)
Зверніть увагу, як змінна ітератора product
отримує доступ лише до ключів словника.
Щоб ітерувати по значеннях словника, ви можете використовувати метод values()
.
Це корисно для операцій, які потребують доступу до значень без необхідності звертатися до ключів:
# 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)
Якщо вам потрібно одночасно отримати доступ до ключів і значень, метод items()
дозволяє перебирати пари ключ-значення в словнику.
Щоб використовувати цей метод у циклі for
, ми вказуємо дві змінні перед ключовим словом in
— одну для ключа (product
) і одну для значення (stock
):
# 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.")
Примітка
У цьому прикладі ми використовуємо f-рядки (також відомі як форматовані рядкові літерали) для вбудовування змінних безпосередньо в рядки. Синтаксис простий: додайте
f
перед відкриваючою лапкою"
, і розмістіть змінні або вирази у фігурних дужках{}
всередині рядка. Цей метод робить об'єднання рядків і змінних у операторах print набагато читабельнішим, тому варто його вивчити.
Спираючись на ваші знання про if/else
, булеві оператори та цикли for
, ми можемо виконати просту перевірку інвентаризації у словнику:
# 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.")
Примітка
Ви можете помітити, що ми розмістили
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>
.
Рішення
Дякуємо за ваш відгук!
Цикли For
Ласкаво просимо до розділу, присвяченого циклам!
У цьому розділі ми зануримося в те, як цикли служать ключовим інструментом для автоматизації повторюваних завдань і є необхідними для ефективної обробки списків та інших ітерабельних типів даних.
Приєднуйтесь до Алекса, який демонструє використання циклів for
для спрощення операцій у нашому продуктовому магазині:
Використання циклів for
у Python дозволяє виконувати блок коду повторно для кожного елемента в колекції (ітерабельному об'єкті). Ось що вам потрібно знати про цикли for
:
Синтаксис
Ініціюйте цикл for
за допомогою ключового слова for
, за яким слідує ім'я змінної, наприклад, item
, щоб представляти кожен елемент у послідовності. Потім слідує ключове слово in
і ітерабельний об'єкт, наприклад, groceryItems
. Блок коду в циклі виконується один раз для кожного елемента.
У цьому прикладі item
діє як змінна-ітератор, яка послідовно отримує доступ до кожного елемента в списку groceryItems
і виконує функцію print()
для кожного з них:
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
Ітерація відноситься до процесу виконання блоку коду повторно. Python підтримує два основні типи ітерації:
Визначена ітерація
Коли кількість ітерацій відомо заздалегідь. for
цикли є класичним прикладом, автоматично зупиняючись коли досягають кінця послідовності.
Невизначена ітерація
В якій виконання триває поки не буде виконано певну умову, зазвичай обробляється while
циклами, які будуть детально розглянуті в наступному розділі.
Приклад застосувань
for
цикли в Python можуть використовуватися з будь-яким ітерованим об'єктом (lists
, tuples
, dictionaries
, strings
), дозволяючи маніпулювати даними на основі кожного елемента.
Чи потрібно вам отримати доступ до елементів у списку, ключів або значень у словнику, або символів у рядку, for
цикли надають чіткий синтаксис, що спрощує код для повторюваних завдань.
Ось як ви можете використовувати for
цикл для ітерації по елементах у рядку та кортежі, подібно до того, як ми бачили зі списками:
# 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)
При використанні циклу for
з словником, ітерація безпосередньо по словнику за замовчуванням буде проходити по його ключах.
Ось чого очікувати, коли ви безпосередньо ітеруєте по словнику:
# 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)
Зверніть увагу, як змінна ітератора product
отримує доступ лише до ключів словника.
Щоб ітерувати по значеннях словника, ви можете використовувати метод values()
.
Це корисно для операцій, які потребують доступу до значень без необхідності звертатися до ключів:
# 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)
Якщо вам потрібно одночасно отримати доступ до ключів і значень, метод items()
дозволяє перебирати пари ключ-значення в словнику.
Щоб використовувати цей метод у циклі for
, ми вказуємо дві змінні перед ключовим словом in
— одну для ключа (product
) і одну для значення (stock
):
# 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.")
Примітка
У цьому прикладі ми використовуємо f-рядки (також відомі як форматовані рядкові літерали) для вбудовування змінних безпосередньо в рядки. Синтаксис простий: додайте
f
перед відкриваючою лапкою"
, і розмістіть змінні або вирази у фігурних дужках{}
всередині рядка. Цей метод робить об'єднання рядків і змінних у операторах print набагато читабельнішим, тому варто його вивчити.
Спираючись на ваші знання про if/else
, булеві оператори та цикли for
, ми можемо виконати просту перевірку інвентаризації у словнику:
# 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.")
Примітка
Ви можете помітити, що ми розмістили
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>
.
Рішення
Дякуємо за ваш відгук!