added einkaufsliste
This commit is contained in:
100
01_Python_Jupyter/code/00/einkaufsliste.py
Normal file
100
01_Python_Jupyter/code/00/einkaufsliste.py
Normal 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()
|
||||
9
01_Python_Jupyter/code/00/main.py
Normal file
9
01_Python_Jupyter/code/00/main.py
Normal 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'
|
||||
1
01_Python_Jupyter/einkaufsliste.txt
Normal file
1
01_Python_Jupyter/einkaufsliste.txt
Normal file
@@ -0,0 +1 @@
|
||||
ab;1.0;1
|
||||
Reference in New Issue
Block a user