added einkaufsliste

This commit is contained in:
2024-09-20 20:33:29 +02:00
commit f3734189ba
3 changed files with 110 additions and 0 deletions

View File

@@ -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()

View File

@@ -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'

View File

@@ -0,0 +1 @@
ab;1.0;1