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

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

book
Поведінка Списків у Функціях

Досліджуємо роботу зі списками всередині функцій. Хоча це схоже на роботу з числами, існують деякі важливі особливості.

Списки є змінюваними (mutable), тобто будь-які зміни списку всередині функції також впливають на оригінальний список поза функцією, якщо його передати напряму.

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

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

У цьому прикладі оригінальний список fruits залишається незмінним, оскільки було використано copy(). Без copy() зміни списку всередині функції також змінили б оригінальний список fruits.

Завдання

Swipe to start coding

Створення функції для застосування 10% знижки до цін на товари понад $2.00 без зміни початкового списку.

  • Визначити функцію apply_discount(prices), яка приймає список цін.
  • Усередині функції створити копію списку prices та присвоїти її змінній prices_copy.
  • Використати цикл for з ітерацією за індексом (range(len(prices_copy))) для проходження по копії списку.
  • Якщо ціна перевищує 2.00, застосувати 10% знижку.
  • Повернути оновлений список prices_copy.

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

  • Функція повинна повертати новий список із цінами зі знижкою.
  • Вивести результат за допомогою:
    Updated product prices: <$updated_prices>

Примітка

Використовуйте ітерацію за індексом для коректної модифікації списку: for index in range(len(prices)): змінює елементи напряму, на відміну від for price in prices:.

Рішення

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

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

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

Секція 6. Розділ 4
Ми дуже хвилюємося, що щось пішло не так. Що трапилося?

Запитати АІ

expand
ChatGPT

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

book
Поведінка Списків у Функціях

Досліджуємо роботу зі списками всередині функцій. Хоча це схоже на роботу з числами, існують деякі важливі особливості.

Списки є змінюваними (mutable), тобто будь-які зміни списку всередині функції також впливають на оригінальний список поза функцією, якщо його передати напряму.

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

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

У цьому прикладі оригінальний список fruits залишається незмінним, оскільки було використано copy(). Без copy() зміни списку всередині функції також змінили б оригінальний список fruits.

Завдання

Swipe to start coding

Створення функції для застосування 10% знижки до цін на товари понад $2.00 без зміни початкового списку.

  • Визначити функцію apply_discount(prices), яка приймає список цін.
  • Усередині функції створити копію списку prices та присвоїти її змінній prices_copy.
  • Використати цикл for з ітерацією за індексом (range(len(prices_copy))) для проходження по копії списку.
  • Якщо ціна перевищує 2.00, застосувати 10% знижку.
  • Повернути оновлений список prices_copy.

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

  • Функція повинна повертати новий список із цінами зі знижкою.
  • Вивести результат за допомогою:
    Updated product prices: <$updated_prices>

Примітка

Використовуйте ітерацію за індексом для коректної модифікації списку: for index in range(len(prices)): змінює елементи напряму, на відміну від for price in prices:.

Рішення

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

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

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

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