8.11.2024

This commit is contained in:
2024-11-08 13:23:30 +01:00
parent 02cabe1ce3
commit d1ed0d370b
9 changed files with 5574 additions and 3735 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,114 +1,114 @@
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 __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
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
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__":
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 __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
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
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

@@ -1,9 +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'
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

@@ -1 +1 @@
ab;1.0;1
ab;1.0;1

File diff suppressed because it is too large Load Diff

View File

@@ -233,11 +233,23 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 1,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "NameError",
"evalue": "name 'titanic' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[1], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m agg_df \u001b[38;5;241m=\u001b[39m \u001b[43mtitanic\u001b[49m\u001b[38;5;241m.\u001b[39magg([\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcount\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124msize\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnunique\u001b[39m\u001b[38;5;124m'\u001b[39m])\n",
"\u001b[1;31mNameError\u001b[0m: name 'titanic' is not defined"
]
}
],
"source": [
"agg_df = titanic.agg(['count', 'size', 'nunique'])"
"agg_df = titanic.agg(['age: count', 'size', 'nunique'])"
]
},
{

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff