====== LU02.L06 - Einkaufsliste ====== ===== Funktion zur Preisanpassung: ===== def update_prices(products, new_prices): updated_products = [] for product in products: updated_product = product.copy() product_name = updated_product['product'] if product_name in new_prices: updated_product['price'] = new_prices[product_name] updated_products.append(updated_product) return updated_products ==== Vorgehen ==== In der Funktion zur Preisanpassung besteht die Hauptaufgabe darin, die Preise in der Einkaufsliste basierend auf den neuen Preisen zu aktualisieren, ohne die ursprüngliche Liste zu verändern. - Erstellen einer neuen leeren Liste: Diese Liste wird verwendet, um die aktualisierten Produkte zu speichern, ohne die ursprüngliche Liste zu ändern. - Durchlaufen der Produkte in der ursprünglichen Liste: Für jedes Produkt im ursprünglichen Produkt wird eine Kopie erstellt, um sicherzustellen, dass die ursprünglichen Daten unverändert bleiben. - Preisanpassung, wenn verfügbar: Wenn der Produktname in den neuen Preisen gefunden wird, wird der Preis in der Produktkopie aktualisiert. - Hinzufügen des aktualisierten Produkts zur neuen Liste: Die aktualisierte Produktkopie wird zur neuen Liste von Produkten hinzugefügt. - Rückgabe der aktualisierten Produktliste: Nachdem alle Produkte durchlaufen wurden, wird die neue aktualisierte Produktliste zurückgegeben. ===== Gesamtpreis berechnen: ===== def calculate_total(products): total = 0 for product in products: total += product['price'] * product['quantity'] return total ==== Vorgehen ==== Die Funktion zur Berechnung des Gesamtpreises zielt darauf ab, den Gesamtpreis der Produkte in der Einkaufsliste basierend auf den Preisen und Mengen zu berechnen. - Initialisierung des Gesamtpreises: Eine Variable wird verwendet, um den Gesamtpreis zu speichern, und sie wird mit 0 initialisiert. - Durchlaufen der Produkte in der Liste: Für jedes Produkt in der Liste wird der Preis mit der Menge multipliziert, um den Gesamtpreis für dieses spezielle Produkt zu berechnen. - Addition des Produktgesamtpreises zum Gesamtpreis: Der berechnete Gesamtpreis für das Produkt wird zum laufenden Gesamtpreis addiert. - Rückgabe des Gesamtpreises: Nachdem alle Produkte durchlaufen wurden, wird der endgültige Gesamtpreis zurückgegeben. ===== Testen Sie Ihre Funktionen: ===== if __name__ == '__main__': updated_products = update_prices(products, prices) print("Ursprüngliche Produkte:", products) print("Aktualisierte Produkte:", updated_products) print("Gesamtpreis (alt):", calculate_total(products)) print("Gesamtpreis (neu):", calculate_total(updated_products)) ===== Zusammenfassung ===== products = [ {'product': 'Apple', 'quantity': 5, 'price': 1.2}, {'product': 'Banana', 'quantity': 2, 'price': 0.8}, # Add more products as needed ] new_prices = { 'Apple': 0.5, 'Banana': 0.3, # Add more prices as needed } def update_prices(products, new_prices): updated_products = [] for product in products: updated_product = product.copy() product_name = updated_product['product'] if product_name in new_prices: updated_product['price'] = new_prices[product_name] updated_products.append(updated_product) return updated_products def calculate_total(products): total = 0 for product in products: total += product['price'] * product['quantity'] return total if __name__ == '__main__': updated_products = update_prices(products, prices) print("Ursprüngliche Produkte:", products) print("Aktualisierte Produkte:", updated_products) print("Gesamtpreis (alt):", calculate_total(products)) print("Gesamtpreis (neu):", calculate_total(updated_products)) ---- [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi