diff --git a/lab02/shopping.py b/lab02/shopping.py
new file mode 100644
index 0000000000000000000000000000000000000000..d35baa248fee4c85fb65a07c6162fcf7e347b235
--- /dev/null
+++ b/lab02/shopping.py
@@ -0,0 +1,92 @@
+# Programmieren 2 Praktikum 2/3 Gerlach, Mike (768100)
+
+class Person(object):
+
+    def __init__(self, name, kundennummer = 0):
+        self.name = name
+        self.kundennummer = kundennummer
+
+    def str(self):
+        print("Name des Kunden: {}, Kundennummer: {}".format(self.name, self.kundennummer))
+
+    def add(self, kundennummer):
+        self.kundennummer = kundennummer
+
+class Produkt(object):
+
+    def __init__(self, bezeichnung, preis):
+        self.bezeichnung = bezeichnung
+        self.preis = preis
+
+    def str(self):
+        print("{}, {} €".format(self.bezeichnung, self.preis))
+
+class Einkaufswagen(Produkt):
+
+    def __init__(self, bezeichnung="", preis="", warenkorb = []):
+        super().__init__(bezeichnung,preis)
+        self.warenkorb = warenkorb
+        self.preis = preis
+        self.bezeichnung = bezeichnung
+
+    def str(self):
+        print("Einkaufswagen: {}".format(self.warenkorb))
+
+    def add(self, Produkt):
+        self.warenkorb.append(Produkt.bezeichnung)
+        self.warenkorb.append(Produkt.preis)
+
+    @staticmethod
+    def warenwert(Einkaufswagen, Person):
+        summeProdukte = 0
+        for ware in Einkaufswagen.warenkorb:
+            summeProdukte = summeProdukte + 1
+        summeProdukte = summeProdukte / 2
+
+        newList = []
+
+        for i in range(1, len(Einkaufswagen.warenkorb), 2):
+            newList.append(Einkaufswagen.warenkorb[i])
+        summePreise = 0
+
+
+        for ware in newList:
+            summePreise = summePreise + ware
+
+        if Person.kundennummer != 0:
+            rabatt = summePreise * 0.1
+            summePreise = summePreise - rabatt
+            return ("Anzahl der Produkte: {}, Gesamtpreis in Euro: {} mit 10%-Rabatt".format(int(summeProdukte), summePreise))
+
+        else:
+            return("Anzahl der Produkte: {}, Gesamtpreis in Euro: {}".format(int(summeProdukte), summePreise))
+
+
+def main():
+    anton = Person("Anton")
+    karl = Person("Karl")
+    brot = Produkt("Brot", 2.35)
+    butter = Produkt("Butter", 1.59)
+    nutella = Produkt("Nutella", 2.79)
+    brot.str()
+    butter.str()
+    nutella.str()
+    e1 = Einkaufswagen()
+    e1.add(brot)
+    e1.add(brot)
+    e1.add(butter)
+    e1.add(nutella)
+    e1.str()
+    anton.add(4123)
+    anton.str()
+    print(Einkaufswagen.warenwert(e1, anton))
+    print(Einkaufswagen.warenwert(e1, karl))
+
+if __name__ == '__main__':
+    main()
+
+# Zu den Fragen auf dem Arbeitsblatt:
+# 3.2.8: Die Funktion "warenwert" sollte zur Klasse Einkaufswagen gehören, da diese schon von Klasse Produkt erbt und man diese auch noch von der Klasse Person
+#        erben lassen könnte.
+#3.2.9: Ich würde die Methode als eine Klassenmethode implementieren, da diese dann sowohl über einen erzeugten Einkaufswagen wie auch über die Klasse Einkaufswagen
+#       aufrufbar ist.
\ No newline at end of file