Compare commits

..

No commits in common. "3f06fe3e2727fa0807e1d6397d4843cf48d47c9f" and "4bee48b4d59d2163de2ce52bc1fdafb1ec748af6" have entirely different histories.

7 changed files with 8 additions and 129 deletions

Binary file not shown.

View File

@ -4,7 +4,7 @@
In der Datei _list_comprehension_ ist eine Liste _artikel_ mit Daten von Supermarktartikeln In der Datei _list_comprehension_ ist eine Liste _artikel_ mit Daten von Supermarktartikeln
```python ```python
produkte = [ artikel = [
{"artikel": "Quark", "stueckzahl": 18, "price": 1.59, "verfallsdatum": "2026-06-25", "lieferant": "Frisch-Milch AG", "lagerplatz": "Kühlregal 1"}, {"artikel": "Quark", "stueckzahl": 18, "price": 1.59, "verfallsdatum": "2026-06-25", "lieferant": "Frisch-Milch AG", "lagerplatz": "Kühlregal 1"},
{...}, ... {...}, ...
] ]

View File

@ -1,17 +1,15 @@
from datetime import datetime artikel = [
heute = datetime.now().strftime("%Y-%m-%d") {"artikel": "Quark", "stueckzahl": 18, "price": 1.59, "verfallsdatum": "2026-06-25",
produkte = [
{"artikel": "Quark", "stueckzahl": 18, "price": 1.59, "verfallsdatum": "2026-06-22",
"lieferant": "Frisch-Milch AG", "lagerplatz": "Kühlregal 1"}, "lieferant": "Frisch-Milch AG", "lagerplatz": "Kühlregal 1"},
{"artikel": "Eier", "stueckzahl": 30, "price": 3.29, "verfallsdatum": "2026-06-17", {"artikel": "Eier", "stueckzahl": 30, "price": 3.29, "verfallsdatum": "2026-06-17",
"lieferant": "Bio-Hof Müller", "lagerplatz": "Kühlregal 2"}, "lieferant": "Bio-Hof Müller", "lagerplatz": "Kühlregal 2"},
{"artikel": "Fleischwurst", "stueckzahl": 10, "price": 2.89, "verfallsdatum": "2026-08-23", {"artikel": "Fleischwurst", "stueckzahl": 10, "price": 2.89, "verfallsdatum": "2026-06-15",
"lieferant": "Wurstwaren Huber", "lagerplatz": "Kühlregal 3"}, "lieferant": "Wurstwaren Huber", "lagerplatz": "Kühlregal 3"},
{"artikel": "Milch", "stueckzahl": 20, "price": 1.49, "verfallsdatum": "2026-06-23", {"artikel": "Milch", "stueckzahl": 20, "price": 1.49, "verfallsdatum": "2026-06-16",
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 1"}, "lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 1"},
{"artikel": "Reis", "stueckzahl": 40, "price": 1.99, "verfallsdatum": "2026-05-01", {"artikel": "Reis", "stueckzahl": 40, "price": 1.99, "verfallsdatum": "2027-01-01",
"lieferant": "Global Import GmbH", "lagerplatz": "Regal A4"}, "lieferant": "Global Import GmbH", "lagerplatz": "Regal A4"},
{"artikel": "Joghurt", "stueckzahl": 25, "price": 0.99, "verfallsdatum": "2026-07-23", {"artikel": "Joghurt", "stueckzahl": 25, "price": 0.99, "verfallsdatum": "2026-06-16",
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 1"}, "lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 1"},
{"artikel": "Salami", "stueckzahl": 22, "price": 3.99, "verfallsdatum": "2026-07-02", {"artikel": "Salami", "stueckzahl": 22, "price": 3.99, "verfallsdatum": "2026-07-02",
"lieferant": "Wurstwaren Huber", "lagerplatz": "Kühlregal 3"}, "lieferant": "Wurstwaren Huber", "lagerplatz": "Kühlregal 3"},
@ -19,9 +17,6 @@ produkte = [
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 2"}, "lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 2"},
{"artikel": "Butter", "stueckzahl": 40, "price": 2.29, "verfallsdatum": "2026-08-05", {"artikel": "Butter", "stueckzahl": 40, "price": 2.29, "verfallsdatum": "2026-08-05",
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 2"}, "lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 2"},
{"artikel": "Käse", "stueckzahl": 15, "price": 4.99, "verfallsdatum": "2026-06-24", {"artikel": "Käse", "stueckzahl": 15, "price": 4.99, "verfallsdatum": "2026-06-17",
"lieferant": "Käsemanufaktur", "lagerplatz": "Kühlregal 1"} "lieferant": "Käsemanufaktur", "lagerplatz": "Kühlregal 1"}
] ]
abgelaufen = [(prdkt["artikel"], prdkt["lagerplatz"])
for prdkt in produkte if prdkt["verfallsdatum"] < heute]
print(abgelaufen)

View File

@ -1,53 +0,0 @@
# 1. Decorator: Loggt die Ausführung der Fusion
def log_merger(func):
def wrapper(*args, **kwargs):
print("[SYSTEM LOG]: Initiating merger...")
# WICHTIG: Das Ergebnis der ursprünglichen Funktion muss zurückgegeben werden
return func(*args, **kwargs)
return wrapper
class Abteilung:
def __init__(self, name, budget, mitarbeiter):
self.name = name
self.budget = budget
# mitarbeiter ist ein Dictionary: {"Name": "Rolle"}
self.mitarbeiter = mitarbeiter
# 2. Magic Method __add__: Definiert das Verhalten beim '+' Operator
@log_merger
def __add__(self, other):
# Namen kombinieren und Budgets addieren
neuer_name = f"{self.name} & {other.name}"
neues_budget = self.budget + other.budget
# Beide Dictionaries zusammenfügen (Unpacking)
combined = {**self.mitarbeiter, **other.mitarbeiter}
# Dictionary Comprehension mit if-Bedingung:
# Fügt alle Mitarbeiter hinzu, außer diejenigen mit der Rolle "Intern"
neue_mitarbeiter = {name: role for name,
role in combined.items() if role != "Praktikant"}
return Abteilung(neuer_name, neues_budget, neue_mitarbeiter)
# 3. Magic Method __str__: Definiert die Textausgabe bei print(objekt)
def __str__(self):
return f"Abteilung: {self.name} | Budget: {self.budget}€ | mitarbeiter: {len(self.mitarbeiter)}"
if __name__ == "__main__":
# Zwei Abteilungen mit Dictionaries erstellen
it_abteilung = Abteilung(
"IT", 50000, {"Anton": "Developer", "Barbara": "Projektmanagerin", "Carl": "Praktikant"})
design_abteilung = Abteilung(
"Design", 30000, {"David": "Designer", "Eva": "Praktikant", "Felix": "Abteilungsleiter"})
# Fusion durchführen (Ruft log_merger und __add__ auf)
merged_abteilung = it_abteilung + design_abteilung
# Ergebnisse ausgeben
print("------------------")
print(merged_abteilung) # Ruft __str__ auf
print("Final mitarbeiter List:")
for name, role in merged_abteilung.mitarbeiter.items():
print(f"- {name}: {role}")

View File

@ -1,15 +0,0 @@
class Einkaufswagen:
def __init__(self, kunde, items):
self.kunde = kunde
self.items = items # items ist eine Liste
def __mul__(self, zahl):
return Einkaufswagen(self.kunde, self.items * zahl)
def __str__(self):
return f"{self.kunde} : {self.items}"
ew1 = Einkaufswagen("Sam", ["Milche", "Brot"])
ew2 = ew1 * 3
print(ew2)

View File

@ -1,23 +0,0 @@
import time
def cache(func):
cache_dict = {}
def wrapper(*mamamia, **kwmamamia):
if mamamia in cache_dict:
print("Ergebnis aus dem Cache geladen!")
return cache_dict[mamamia]
else:
print("Ergebnis wird berechnet ...")
result = func(*mamamia, **kwmamamia)
cache_dict[mamamia] = result
return result
return wrapper
@cache
def gehalt(name):
# Komplexe Berechnung
time.sleep(3)
return 3000

View File

@ -1,25 +0,0 @@
from datetime import datetime
today = datetime.now().strftime("%Y-%m-%d")
artikel = [
{"artikel": "Quark", "stueckzahl": 18, "price": 1.59, "verfallsdatum": "2026-06-25",
"lieferant": "Frisch-Milch AG", "lagerplatz": "Kühlregal 1"},
{"artikel": "Eier", "stueckzahl": 30, "price": 3.29, "verfallsdatum": "2026-06-17",
"lieferant": "Bio-Hof Müller", "lagerplatz": "Kühlregal 2"},
{"artikel": "Fleischwurst", "stueckzahl": 10, "price": 2.89, "verfallsdatum": "2026-06-15",
"lieferant": "Wurstwaren Huber", "lagerplatz": "Kühlregal 3"},
{"artikel": "Milch", "stueckzahl": 20, "price": 1.49, "verfallsdatum": "2026-06-16",
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 1"},
{"artikel": "Reis", "stueckzahl": 40, "price": 1.99, "verfallsdatum": "2027-01-01",
"lieferant": "Global Import GmbH", "lagerplatz": "Regal A4"},
{"artikel": "Joghurt", "stueckzahl": 25, "price": 0.99, "verfallsdatum": "2026-06-16",
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 1"},
{"artikel": "Salami", "stueckzahl": 22, "price": 3.99, "verfallsdatum": "2026-07-02",
"lieferant": "Wurstwaren Huber", "lagerplatz": "Kühlregal 3"},
{"artikel": "Sahne", "stueckzahl": 12, "price": 1.29, "verfallsdatum": "2026-06-17",
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 2"},
{"artikel": "Butter", "stueckzahl": 40, "price": 2.29, "verfallsdatum": "2026-08-05",
"lieferant": "Molkerei Süd", "lagerplatz": "Kühlregal 2"},
{"artikel": "Käse", "stueckzahl": 15, "price": 4.99, "verfallsdatum": "2026-06-17",
"lieferant": "Käsemanufaktur", "lagerplatz": "Kühlregal 1"}
]