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