Kursinhalt
Einführung in Python
Einführung in Python
Listenverhalten in Funktionen
Lassen Sie uns das Arbeiten mit Listen innerhalb von Funktionen erkunden. Obwohl es dem Arbeiten mit Zahlen ähnlich ist, gibt es einige wichtige Details, die beachtet werden müssen.
Listen sind veränderbar, was bedeutet, dass alle Änderungen, die an einer Liste innerhalb einer Funktion vorgenommen werden, auch die ursprüngliche Liste außerhalb der Funktion beeinflussen, wenn sie direkt übergeben wird.
Um dies zu verhindern, können Sie die Methode copy()
mit jedem veränderbaren Datentyp verwenden. Dadurch erstellen Sie eine flache Kopie der Liste, die es Ihnen ermöglicht, ein Duplikat zu ändern, anstatt das Original. Dies stellt sicher, dass Änderungen, die innerhalb der Funktion vorgenommen werden, die ursprüngliche Liste nicht beeinflussen.
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']
In diesem Beispiel bleibt die ursprüngliche fruits
-Liste unverändert, weil copy()
verwendet wurde. Ohne copy()
hätte das Ändern der Liste innerhalb der Funktion auch die ursprüngliche fruits
-Liste verändert.
Swipe to start coding
In dieser Aufgabe arbeiten Sie mit einer Liste von Produktpreisen aus einem Lebensmittelgeschäft. Ihr Ziel ist es, eine Funktion zu erstellen, die einen 10% Rabatt auf jedes Produkt anwendet, das über $2.00 kostet, während sichergestellt wird, dass die ursprüngliche Liste unverändert bleibt. Diese Übung hilft Ihnen, den Umgang mit Funktionen, Schleifen und Listenmanipulation in Python zu üben.
Code-Anweisungen
- Definieren Sie eine Funktion namens
apply_discount(prices)
, die eine Liste von Preisen als Argument nimmt. - Erstellen Sie innerhalb der Funktion eine Kopie der
prices
-Liste, um sicherzustellen, dass die ursprüngliche Liste unverändert bleibt. Weisen Sie die Kopie der Variableprices_copy
zu. - Verwenden Sie eine
for
-Schleife, um durch die kopierte Liste mit Indizes zu iterieren. - Überprüfen Sie innerhalb der Schleife, ob jeder Preis über $2.00 liegt. Wenn ja, wenden Sie einen 10% Rabatt auf diesen Preis an.
- Geben Sie die aktualisierte Version der kopierten Liste nach Anwendung der Rabatte zurück.
Ausgabeanforderungen
- Die Funktion sollte eine neue Liste mit den rabattierten Preisen zurückgeben.
- Drucken Sie die aktualisierte Liste der Preise im Format:
Updated product prices: <$updated_prices>
.
Hinweis
Es ist wichtig, durch die Liste mit Indizes (
for index in range(len(prices)):
) anstatt mit Werten (for price in prices:
) zu iterieren, da Letzteres nur Kopien der Werte modifiziert und die ursprüngliche Liste unverändert lässt.
Lösung
Danke für Ihr Feedback!
Listenverhalten in Funktionen
Lassen Sie uns das Arbeiten mit Listen innerhalb von Funktionen erkunden. Obwohl es dem Arbeiten mit Zahlen ähnlich ist, gibt es einige wichtige Details, die beachtet werden müssen.
Listen sind veränderbar, was bedeutet, dass alle Änderungen, die an einer Liste innerhalb einer Funktion vorgenommen werden, auch die ursprüngliche Liste außerhalb der Funktion beeinflussen, wenn sie direkt übergeben wird.
Um dies zu verhindern, können Sie die Methode copy()
mit jedem veränderbaren Datentyp verwenden. Dadurch erstellen Sie eine flache Kopie der Liste, die es Ihnen ermöglicht, ein Duplikat zu ändern, anstatt das Original. Dies stellt sicher, dass Änderungen, die innerhalb der Funktion vorgenommen werden, die ursprüngliche Liste nicht beeinflussen.
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']
In diesem Beispiel bleibt die ursprüngliche fruits
-Liste unverändert, weil copy()
verwendet wurde. Ohne copy()
hätte das Ändern der Liste innerhalb der Funktion auch die ursprüngliche fruits
-Liste verändert.
Swipe to start coding
In dieser Aufgabe arbeiten Sie mit einer Liste von Produktpreisen aus einem Lebensmittelgeschäft. Ihr Ziel ist es, eine Funktion zu erstellen, die einen 10% Rabatt auf jedes Produkt anwendet, das über $2.00 kostet, während sichergestellt wird, dass die ursprüngliche Liste unverändert bleibt. Diese Übung hilft Ihnen, den Umgang mit Funktionen, Schleifen und Listenmanipulation in Python zu üben.
Code-Anweisungen
- Definieren Sie eine Funktion namens
apply_discount(prices)
, die eine Liste von Preisen als Argument nimmt. - Erstellen Sie innerhalb der Funktion eine Kopie der
prices
-Liste, um sicherzustellen, dass die ursprüngliche Liste unverändert bleibt. Weisen Sie die Kopie der Variableprices_copy
zu. - Verwenden Sie eine
for
-Schleife, um durch die kopierte Liste mit Indizes zu iterieren. - Überprüfen Sie innerhalb der Schleife, ob jeder Preis über $2.00 liegt. Wenn ja, wenden Sie einen 10% Rabatt auf diesen Preis an.
- Geben Sie die aktualisierte Version der kopierten Liste nach Anwendung der Rabatte zurück.
Ausgabeanforderungen
- Die Funktion sollte eine neue Liste mit den rabattierten Preisen zurückgeben.
- Drucken Sie die aktualisierte Liste der Preise im Format:
Updated product prices: <$updated_prices>
.
Hinweis
Es ist wichtig, durch die Liste mit Indizes (
for index in range(len(prices)):
) anstatt mit Werten (for price in prices:
) zu iterieren, da Letzteres nur Kopien der Werte modifiziert und die ursprüngliche Liste unverändert lässt.
Lösung
Danke für Ihr Feedback!