single
Поведінка Списків у Функціях
Свайпніть щоб показати меню
Розглянемо роботу зі списками всередині функцій. Це схоже на роботу з числами, але є кілька важливих деталей.
Списки є змінюваними (mutable), тобто будь-які зміни, внесені до списку всередині функції, також впливають на оригінальний список поза функцією, якщо його передати напряму.
Щоб цього уникнути, можна використати метод copy() для будь-якого змінюваного типу даних. Таким чином створюється поверхнева копія списку, що дозволяє змінювати дублікат, а не оригінал. Це гарантує, що зміни, внесені у функції, не впливають на оригінальний список.
1234567891011121314def 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']
У цьому прикладі оригінальний список fruits залишається незмінним, оскільки було використано copy(). Без copy() зміни списку всередині функції також змінили б оригінальний список fruits.
Використовуйте ітерацію за індексом, щоб гарантувати правильну зміну списку: for index in range(len(prices)): змінює елементи безпосередньо, на відміну від for price in prices:.
Проведіть, щоб почати кодувати
Створення функції для застосування 10% знижки до цін на товари понад $2.00 без зміни початкового списку.
- Визначити функцію
apply_discount(prices), яка приймає список цін. - Усередині функції створити копію списку
pricesта присвоїти її зміннійprices_copy. - Використати цикл
forз ітерацією за індексом (range(len(prices_copy))) для проходження по копії списку. - Якщо ціна перевищує
2.00, застосувати 10% знижку. - Повернути оновлений список
prices_copy.
Вимоги до виводу
- Функція повинна повертати новий список із цінами зі знижкою.
- Вивести результат за допомогою:
Updated product prices: <$updated_prices>
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат