Цикли For
Ласкаво просимо до розділу, присвяченого циклам!
У цьому розділі ми розглянемо, як цикли є ключовим інструментом для автоматизації повторюваних завдань і необхідні для ефективної роботи зі списками та іншими ітерованими типами даних.
Долучайтеся до Алекса, який демонструє використання циклів for для спрощення операцій у нашому продуктовому магазині:
Використання циклів for у Python дозволяє виконувати блок коду повторно для кожного елемента у колекції (ітерований об'єкт). Ось що потрібно знати про цикли for:
Синтаксис
Цикл for починається з ключового слова for, після якого йде ім'я змінної, наприклад, item, що представляє кожен елемент у послідовності. Далі йде ключове слово in і сам ітерований об'єкт, наприклад, groceryItems. Блок коду всередині циклу виконується один раз для кожного елемента.
У цьому прикладі item виступає як змінна-ітератор, яка послідовно отримує доступ до кожного елемента списку groceryItems і викликає функцію print() для кожного з них:
1234groceryItems = ["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 для ітерації по елементах рядка та кортежу, подібно до того, як це робиться зі списками:
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)
Під час використання циклу 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)
Зверніть увагу, що змінна-ітератор 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)
Якщо потрібно отримати ключі та значення одночасно, метод 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.")
Примітка
У цьому прикладі використовується 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.")
Примітка
Ви можете помітити, що ми розмістили оператори
ifвсередині циклуfor, що додало додатковий відступ для блокуif. Як зазначалося раніше, кожен блок коду з відступом можна розглядати як незалежний, незалежно від його розташування. Головне — забезпечити, щоб відступи були послідовними та правильними між ними.
Swipe to start coding
Сума цін товарів
Обчислення загальної вартості товарів за допомогою циклу for для проходження списку цін.
- Створити змінну
totalта встановити її значення на0. - Використати цикл for для проходження кожної
priceу спискуprices. - Додати кожну
priceдо змінноїtotalвсередині циклу. - Вивести фінальне значення
totalпісля завершення циклу.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.17
Цикли For
Свайпніть щоб показати меню
Ласкаво просимо до розділу, присвяченого циклам!
У цьому розділі ми розглянемо, як цикли є ключовим інструментом для автоматизації повторюваних завдань і необхідні для ефективної роботи зі списками та іншими ітерованими типами даних.
Долучайтеся до Алекса, який демонструє використання циклів for для спрощення операцій у нашому продуктовому магазині:
Використання циклів for у Python дозволяє виконувати блок коду повторно для кожного елемента у колекції (ітерований об'єкт). Ось що потрібно знати про цикли for:
Синтаксис
Цикл for починається з ключового слова for, після якого йде ім'я змінної, наприклад, item, що представляє кожен елемент у послідовності. Далі йде ключове слово in і сам ітерований об'єкт, наприклад, groceryItems. Блок коду всередині циклу виконується один раз для кожного елемента.
У цьому прикладі item виступає як змінна-ітератор, яка послідовно отримує доступ до кожного елемента списку groceryItems і викликає функцію print() для кожного з них:
1234groceryItems = ["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 для ітерації по елементах рядка та кортежу, подібно до того, як це робиться зі списками:
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)
Під час використання циклу 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)
Зверніть увагу, що змінна-ітератор 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)
Якщо потрібно отримати ключі та значення одночасно, метод 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.")
Примітка
У цьому прикладі використовується 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.")
Примітка
Ви можете помітити, що ми розмістили оператори
ifвсередині циклуfor, що додало додатковий відступ для блокуif. Як зазначалося раніше, кожен блок коду з відступом можна розглядати як незалежний, незалежно від його розташування. Головне — забезпечити, щоб відступи були послідовними та правильними між ними.
Swipe to start coding
Сума цін товарів
Обчислення загальної вартості товарів за допомогою циклу for для проходження списку цін.
- Створити змінну
totalта встановити її значення на0. - Використати цикл for для проходження кожної
priceу спискуprices. - Додати кожну
priceдо змінноїtotalвсередині циклу. - Вивести фінальне значення
totalпісля завершення циклу.
Рішення
Дякуємо за ваш відгук!
single