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

Зміст курсу

Вступ до Python

Вступ до Python

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

book
Ітерація по індексах

У попередньому завданні ви вказали певну кількість елементів для функції range(). Але що робити, якщо вам потрібно визначити кількість динамічно? Тут стає важливою ітерація за індексами.

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

Подивіться, як Алекс демонструє, як ітерація за індексами може спростити операції в нашому прикладі з продуктовим магазином:

Ітерація за індексами корисна, коли вам потрібно отримати доступ до обох індексу та значення кожного елемента у списку. Коли ми використовуємо range() з len(), ми поєднуємо дві функції для створення послідовності чисел, що відповідають індексам елементів списку. Цей метод особливо корисний у циклах, де потрібно отримати доступ або змінити елементи на основі їх позиції.

Наприклад, цей цикл for отримує доступ до індексу та значення кожного елемента у grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

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

Щоб застосувати знижку до списку цін, нам потрібно безпосередньо змінити елементи списку. Використання простого циклу, такого як for cost in prices:, дасть нам лише копію кожного елемента, а не посилання на фактичний елемент у списку. Зміни, зроблені таким чином, не вплинуть на оригінальний список.

Щоб забезпечити пряме оновлення кожного елемента у списку prices, ми використовуємо range(len(prices)) для ітерації по індексах. Це дозволяє нам застосувати фактор знижки до кожного елемента:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Примітка

  • Формула prices[cost] -= prices[cost] * discount_factor еквівалентна prices[cost] = prices[cost] - prices[cost] * discount_factor. Це віднімає частину оригінальної ціни (визначену знижкою) від неї самої, ефективно застосовуючи знижку.

  • cost + 1 у операторі друку коригує індекс так, щоб він починався з 1, а не з 0, роблячи його більш зручним для користувача.

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

Завдання

Swipe to start coding

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

Інструкції до коду

  • Вам надано два списки: stock_items і shipment_received. Кожен вкладений список у цих списках містить назву продукту та його кількість.
  • Використовуйте цикл for у поєднанні з функціями range() та len(), щоб ітеруватися по списку stock_items за індексом.
  • Для кожного продукту оновіть кількість запасів, додаючи відповідну кількість зі списку shipment_received.

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

  • Для кожного продукту виведіть повідомлення у форматі: Stock updated for <product_name>: <updated_quantity> units.
  • Після оновлення всіх продуктів виведіть остаточні кількості запасів з повідомленням: Final stock quantities:.
  • Відобразіть оновлений список stock_items у форматі: Stock Items: <stock_items>.

Рішення

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

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

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

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

book
Ітерація по індексах

У попередньому завданні ви вказали певну кількість елементів для функції range(). Але що робити, якщо вам потрібно визначити кількість динамічно? Тут стає важливою ітерація за індексами.

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

Подивіться, як Алекс демонструє, як ітерація за індексами може спростити операції в нашому прикладі з продуктовим магазином:

Ітерація за індексами корисна, коли вам потрібно отримати доступ до обох індексу та значення кожного елемента у списку. Коли ми використовуємо range() з len(), ми поєднуємо дві функції для створення послідовності чисел, що відповідають індексам елементів списку. Цей метод особливо корисний у циклах, де потрібно отримати доступ або змінити елементи на основі їх позиції.

Наприклад, цей цикл for отримує доступ до індексу та значення кожного елемента у grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

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

Щоб застосувати знижку до списку цін, нам потрібно безпосередньо змінити елементи списку. Використання простого циклу, такого як for cost in prices:, дасть нам лише копію кожного елемента, а не посилання на фактичний елемент у списку. Зміни, зроблені таким чином, не вплинуть на оригінальний список.

Щоб забезпечити пряме оновлення кожного елемента у списку prices, ми використовуємо range(len(prices)) для ітерації по індексах. Це дозволяє нам застосувати фактор знижки до кожного елемента:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Примітка

  • Формула prices[cost] -= prices[cost] * discount_factor еквівалентна prices[cost] = prices[cost] - prices[cost] * discount_factor. Це віднімає частину оригінальної ціни (визначену знижкою) від неї самої, ефективно застосовуючи знижку.

  • cost + 1 у операторі друку коригує індекс так, щоб він починався з 1, а не з 0, роблячи його більш зручним для користувача.

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

Завдання

Swipe to start coding

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

Інструкції до коду

  • Вам надано два списки: stock_items і shipment_received. Кожен вкладений список у цих списках містить назву продукту та його кількість.
  • Використовуйте цикл for у поєднанні з функціями range() та len(), щоб ітеруватися по списку stock_items за індексом.
  • Для кожного продукту оновіть кількість запасів, додаючи відповідну кількість зі списку shipment_received.

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

  • Для кожного продукту виведіть повідомлення у форматі: Stock updated for <product_name>: <updated_quantity> units.
  • Після оновлення всіх продуктів виведіть остаточні кількості запасів з повідомленням: Final stock quantities:.
  • Відобразіть оновлений список stock_items у форматі: Stock Items: <stock_items>.

Рішення

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

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

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

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