commit f3734189bac969e6c30bd736031aadf7eeaa04d7 Author: Tim Kainz Date: Fri Sep 20 20:33:29 2024 +0200 added einkaufsliste diff --git a/01_Python_Jupyter/code/00/einkaufsliste.py b/01_Python_Jupyter/code/00/einkaufsliste.py new file mode 100644 index 0000000..1eab76f --- /dev/null +++ b/01_Python_Jupyter/code/00/einkaufsliste.py @@ -0,0 +1,100 @@ +import os + +class Product: + def __init__(self, name:str, price:float, menge:int=1): + self.name = name + self.price = price + self.menge = menge + + def __str__(self): + return f"{self.name} ({self.price} €)" + + +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: ")) + #Add the product to the list + einkaufsliste.append(Product(name,preis,menge)) + print(f"{name} wurde zur Einkaufsliste hinzugefügt") + +def einkaufsliste_entfernen(einkaufsliste:list[Product]): + #Get User input + name = input("Geben Sie den Namen des zu entfernenden Produkts ein: ") + #Remove the product from the list + for product in einkaufsliste: + if product.name == name: + einkaufsliste.remove(product) + print(f"{name} wurde von der Einkaufsliste entfernt") + return + print(f"{name} konnte nicht gefunden werden") + +def einkaufsliste_anzeigen(einkaufsliste:list[Product]): + if not einkaufsliste: + print("Einkaufsliste ist leer") + return + + print("Einkaufsliste:") + print("*"*20) + for product in einkaufsliste: + print(f"{product.menge}x {product.name} zu je {product.price} €") + +def einkaufsliste_speichern(einkaufsliste:list[Product], dateiname:str): + with open(dateiname, "w") as file: + for product in einkaufsliste: + file.write(f"{product.name};{product.price};{product.menge}\n") + print("Einkaufsliste wurde gespeichert") + +def einkaufsliste_laden(einkaufsliste:list[Product], dateiname:str): + try: + with open(dateiname, "r") as file: + for line in file: + name, price, menge = line.strip().split(";") + einkaufsliste.append(Product(name, float(price), int(menge))) + print(f"Einkaufsliste wurde aus {dateiname} geladen") + except FileNotFoundError: + print("Einkaufsliste konnte nicht geladen werden, da die Datei nicht gefunden wurde") + return einkaufsliste +def einkaufsliste_loeschen(einkaufsliste:list[Product], dateiname:str): + einkaufsliste.clear() + if os.path.exists(dateiname): + os.remove(dateiname) + print("Datei {dateiname} wurde gelöscht") + print("Einkaufsliste wurde gelöscht") + +def start(): + einkaufsliste = [] + dateiname = "einkaufsliste.txt" + + while True: + print("Was möchten Sie tun?") + print("1: Produkt hinzufügen") + print("2: Produkt entfernen") + print("3: Einkaufsliste anzeigen") + print("4: Einkaufsliste speichern") + print("5: Einkaufsliste laden") + print("6: Einkaufsliste löschen") + print("7: Programm beenden") + + auswahl = int(input("Ihre Auswahl: ")) + if auswahl == 1: + produkt_hinzufuegen(einkaufsliste) + elif auswahl == 2: + einkaufsliste_entfernen(einkaufsliste) + elif auswahl == 3: + einkaufsliste_anzeigen(einkaufsliste) + elif auswahl == 4: + einkaufsliste_speichern(einkaufsliste, dateiname) + elif auswahl == 5: + einkaufsliste = einkaufsliste_laden(einkaufsliste, dateiname) + elif auswahl == 6: + einkaufsliste_loeschen(einkaufsliste, dateiname) + elif auswahl == 7: + break + else: + print(auswahl) + print("Ungültige Eingabe") + +if __name__ == "__main__": + start() \ No newline at end of file diff --git a/01_Python_Jupyter/code/00/main.py b/01_Python_Jupyter/code/00/main.py new file mode 100644 index 0000000..19e4c26 --- /dev/null +++ b/01_Python_Jupyter/code/00/main.py @@ -0,0 +1,9 @@ +class Animal: + def __init__(self, name): + self.name = name + + def speak(self): + return f'{self.name} says something' +class Dog(Animal): + def speak(self): + return f'{self.name} barks' \ No newline at end of file diff --git a/01_Python_Jupyter/einkaufsliste.txt b/01_Python_Jupyter/einkaufsliste.txt new file mode 100644 index 0000000..cdea818 --- /dev/null +++ b/01_Python_Jupyter/einkaufsliste.txt @@ -0,0 +1 @@ +ab;1.0;1