8.11.2024
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,114 +1,114 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
class Product:
|
class Product:
|
||||||
def __init__(self, name:str, price:float, menge:int=1):
|
def __init__(self, name:str, price:float, menge:int=1):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.price = price
|
self.price = price
|
||||||
self.menge = menge
|
self.menge = menge
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.name} ({self.price} €)"
|
return f"{self.name} ({self.price} €)"
|
||||||
|
|
||||||
def __eq__(self, value: object) -> bool:
|
def __eq__(self, value: object) -> bool:
|
||||||
if isinstance(value, Product):
|
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}")
|
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 self.name == value.name and self.price == value.price
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def produkt_hinzufuegen(einkaufsliste:list[Product]):
|
def produkt_hinzufuegen(einkaufsliste:list[Product]):
|
||||||
#Get User input
|
#Get User input
|
||||||
name = input("Geben Sie den Namen des Produkts ein: ")
|
name = input("Geben Sie den Namen des Produkts ein: ")
|
||||||
preis = float(input("Geben Sie den Preis des Produkts ein: "))
|
preis = float(input("Geben Sie den Preis des Produkts ein: "))
|
||||||
menge = int(input("Geben Sie die Menge des Produkts ein: "))
|
menge = int(input("Geben Sie die Menge des Produkts ein: "))
|
||||||
product = Product(name,preis,menge)
|
product = Product(name,preis,menge)
|
||||||
#Add the product to the list
|
#Add the product to the list
|
||||||
added = False
|
added = False
|
||||||
for productold in einkaufsliste:
|
for productold in einkaufsliste:
|
||||||
if productold == product:
|
if productold == product:
|
||||||
einkaufsliste.remove(productold)
|
einkaufsliste.remove(productold)
|
||||||
einkaufsliste.append(Product(product.name, product.price, product.menge+productold.menge))
|
einkaufsliste.append(Product(product.name, product.price, product.menge+productold.menge))
|
||||||
added = True
|
added = True
|
||||||
if not added:
|
if not added:
|
||||||
einkaufsliste.append(product)
|
einkaufsliste.append(product)
|
||||||
print(f"{product.menge}x {name} wurde zur Einkaufsliste hinzugefügt")
|
print(f"{product.menge}x {name} wurde zur Einkaufsliste hinzugefügt")
|
||||||
|
|
||||||
def einkaufsliste_entfernen(einkaufsliste:list[Product]):
|
def einkaufsliste_entfernen(einkaufsliste:list[Product]):
|
||||||
#Get User input
|
#Get User input
|
||||||
name = input("Geben Sie den Namen des zu entfernenden Produkts ein: ")
|
name = input("Geben Sie den Namen des zu entfernenden Produkts ein: ")
|
||||||
#Remove the product from the list
|
#Remove the product from the list
|
||||||
for product in einkaufsliste:
|
for product in einkaufsliste:
|
||||||
if product.name == name:
|
if product.name == name:
|
||||||
einkaufsliste.remove(product)
|
einkaufsliste.remove(product)
|
||||||
print(f"{name} wurde von der Einkaufsliste entfernt")
|
print(f"{name} wurde von der Einkaufsliste entfernt")
|
||||||
return
|
return
|
||||||
print(f"{name} konnte nicht gefunden werden")
|
print(f"{name} konnte nicht gefunden werden")
|
||||||
|
|
||||||
def einkaufsliste_anzeigen(einkaufsliste:list[Product]):
|
def einkaufsliste_anzeigen(einkaufsliste:list[Product]):
|
||||||
if not einkaufsliste:
|
if not einkaufsliste:
|
||||||
print("Einkaufsliste ist leer")
|
print("Einkaufsliste ist leer")
|
||||||
return
|
return
|
||||||
|
|
||||||
print("Einkaufsliste:")
|
print("Einkaufsliste:")
|
||||||
print("*"*20)
|
print("*"*20)
|
||||||
for product in einkaufsliste:
|
for product in einkaufsliste:
|
||||||
print(f"{product.menge}x {product.name} zu je {product.price} €")
|
print(f"{product.menge}x {product.name} zu je {product.price} €")
|
||||||
|
|
||||||
def einkaufsliste_speichern(einkaufsliste:list[Product], dateiname:str):
|
def einkaufsliste_speichern(einkaufsliste:list[Product], dateiname:str):
|
||||||
with open(dateiname, "w") as file:
|
with open(dateiname, "w") as file:
|
||||||
for product in einkaufsliste:
|
for product in einkaufsliste:
|
||||||
file.write(f"{product.name};{product.price};{product.menge}\n")
|
file.write(f"{product.name};{product.price};{product.menge}\n")
|
||||||
print("Einkaufsliste wurde gespeichert")
|
print("Einkaufsliste wurde gespeichert")
|
||||||
|
|
||||||
def einkaufsliste_laden(einkaufsliste:list[Product], dateiname:str):
|
def einkaufsliste_laden(einkaufsliste:list[Product], dateiname:str):
|
||||||
try:
|
try:
|
||||||
with open(dateiname, "r") as file:
|
with open(dateiname, "r") as file:
|
||||||
for line in file:
|
for line in file:
|
||||||
name, price, menge = line.strip().split(";")
|
name, price, menge = line.strip().split(";")
|
||||||
einkaufsliste.append(Product(name, float(price), int(menge)))
|
einkaufsliste.append(Product(name, float(price), int(menge)))
|
||||||
print(f"Einkaufsliste wurde aus {dateiname} geladen")
|
print(f"Einkaufsliste wurde aus {dateiname} geladen")
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
print("Einkaufsliste konnte nicht geladen werden, da die Datei nicht gefunden wurde")
|
print("Einkaufsliste konnte nicht geladen werden, da die Datei nicht gefunden wurde")
|
||||||
return einkaufsliste
|
return einkaufsliste
|
||||||
def einkaufsliste_loeschen(einkaufsliste:list[Product], dateiname:str):
|
def einkaufsliste_loeschen(einkaufsliste:list[Product], dateiname:str):
|
||||||
einkaufsliste.clear()
|
einkaufsliste.clear()
|
||||||
if os.path.exists(dateiname):
|
if os.path.exists(dateiname):
|
||||||
os.remove(dateiname)
|
os.remove(dateiname)
|
||||||
print("Datei {dateiname} wurde gelöscht")
|
print("Datei {dateiname} wurde gelöscht")
|
||||||
print("Einkaufsliste wurde gelöscht")
|
print("Einkaufsliste wurde gelöscht")
|
||||||
|
|
||||||
def start():
|
def start():
|
||||||
einkaufsliste = []
|
einkaufsliste = []
|
||||||
dateiname = "einkaufsliste.txt"
|
dateiname = "einkaufsliste.txt"
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
print("Was möchten Sie tun?")
|
print("Was möchten Sie tun?")
|
||||||
print("1: Produkt hinzufügen")
|
print("1: Produkt hinzufügen")
|
||||||
print("2: Produkt entfernen")
|
print("2: Produkt entfernen")
|
||||||
print("3: Einkaufsliste anzeigen")
|
print("3: Einkaufsliste anzeigen")
|
||||||
print("4: Einkaufsliste speichern")
|
print("4: Einkaufsliste speichern")
|
||||||
print("5: Einkaufsliste laden")
|
print("5: Einkaufsliste laden")
|
||||||
print("6: Einkaufsliste löschen")
|
print("6: Einkaufsliste löschen")
|
||||||
print("7: Programm beenden")
|
print("7: Programm beenden")
|
||||||
|
|
||||||
auswahl = int(input("Ihre Auswahl: "))
|
auswahl = int(input("Ihre Auswahl: "))
|
||||||
if auswahl == 1:
|
if auswahl == 1:
|
||||||
produkt_hinzufuegen(einkaufsliste)
|
produkt_hinzufuegen(einkaufsliste)
|
||||||
elif auswahl == 2:
|
elif auswahl == 2:
|
||||||
einkaufsliste_entfernen(einkaufsliste)
|
einkaufsliste_entfernen(einkaufsliste)
|
||||||
elif auswahl == 3:
|
elif auswahl == 3:
|
||||||
einkaufsliste_anzeigen(einkaufsliste)
|
einkaufsliste_anzeigen(einkaufsliste)
|
||||||
elif auswahl == 4:
|
elif auswahl == 4:
|
||||||
einkaufsliste_speichern(einkaufsliste, dateiname)
|
einkaufsliste_speichern(einkaufsliste, dateiname)
|
||||||
elif auswahl == 5:
|
elif auswahl == 5:
|
||||||
einkaufsliste = einkaufsliste_laden(einkaufsliste, dateiname)
|
einkaufsliste = einkaufsliste_laden(einkaufsliste, dateiname)
|
||||||
elif auswahl == 6:
|
elif auswahl == 6:
|
||||||
einkaufsliste_loeschen(einkaufsliste, dateiname)
|
einkaufsliste_loeschen(einkaufsliste, dateiname)
|
||||||
elif auswahl == 7:
|
elif auswahl == 7:
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
print(auswahl)
|
print(auswahl)
|
||||||
print("Ungültige Eingabe")
|
print("Ungültige Eingabe")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
start()
|
start()
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
class Animal:
|
class Animal:
|
||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
||||||
def speak(self):
|
def speak(self):
|
||||||
return f'{self.name} says something'
|
return f'{self.name} says something'
|
||||||
class Dog(Animal):
|
class Dog(Animal):
|
||||||
def speak(self):
|
def speak(self):
|
||||||
return f'{self.name} barks'
|
return f'{self.name} barks'
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
ab;1.0;1
|
ab;1.0;1
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -233,11 +233,23 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 15,
|
"execution_count": 1,
|
||||||
"metadata": {},
|
"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": [
|
"source": [
|
||||||
"agg_df = titanic.agg(['count', 'size', 'nunique'])"
|
"agg_df = titanic.agg(['age: count', 'size', 'nunique'])"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
1913
02_daten_tabellarisch/code/daten_tabellarisch_3.ipynb
Normal file
1913
02_daten_tabellarisch/code/daten_tabellarisch_3.ipynb
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
2620
_data/titanic.csv
2620
_data/titanic.csv
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user