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

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

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

Запитати АІ

expand
ChatGPT

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

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