From 564768eac2d9ab33a9c998bae4a643cb968558ad Mon Sep 17 00:00:00 2001 From: Tim Kainz Date: Fri, 27 Sep 2024 13:07:10 +0200 Subject: [PATCH] added bonus excercise --- 01_Python_Jupyter/code/00/einkaufsliste.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/01_Python_Jupyter/code/00/einkaufsliste.py b/01_Python_Jupyter/code/00/einkaufsliste.py index 1eab76f..702c1f4 100644 --- a/01_Python_Jupyter/code/00/einkaufsliste.py +++ b/01_Python_Jupyter/code/00/einkaufsliste.py @@ -9,15 +9,29 @@ class Product: def __str__(self): return f"{self.name} ({self.price} €)" + def __eq__(self, value: object) -> bool: + if isinstance(value, Product): + print(f"self.name: {self.name}, value.name: {value.name}, self.menge: {self.menge}, value.menge: {value.menge}, self.price: {self.price}, value.price: {value.price}") + return self.name == value.name and self.price == value.price + return False + def produkt_hinzufuegen(einkaufsliste:list[Product]): #Get User input name = input("Geben Sie den Namen des Produkts ein: ") preis = float(input("Geben Sie den Preis des Produkts ein: ")) menge = int(input("Geben Sie die Menge des Produkts ein: ")) + product = Product(name,preis,menge) #Add the product to the list - einkaufsliste.append(Product(name,preis,menge)) - print(f"{name} wurde zur Einkaufsliste hinzugefügt") + added = False + for productold in einkaufsliste: + if productold == product: + einkaufsliste.remove(productold) + einkaufsliste.append(Product(product.name, product.price, product.menge+productold.menge)) + added = True + if not added: + einkaufsliste.append(product) + print(f"{product.menge}x {name} wurde zur Einkaufsliste hinzugefügt") def einkaufsliste_entfernen(einkaufsliste:list[Product]): #Get User input