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
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 2.17

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Перейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

close

Awesome!

Completion rate improved to 2.17

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

some-alt