Code_Übungsaufgabe¶
(c) 2026 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
Code zu Aufgabe 1+2 - main.py¶
In [ ]:
%%writefile ....
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
main.py
@author: student
"""
from Unternehmen.Adressen import Koordinaten, Adresse
from Unternehmen.Person import Person
from Unternehmen.Organisation.Verwaltung import Mitarbeiter
from Unternehmen.Organisation import abteilungen
from Unternehmen.Produkte import Produkte, hersteller
from Unternehmen.Produkte.Gewinn import Gewinn
from Unternehmen.Finanzen.Gehalt import Gehaltssumme
for abteilung in abteilungen:
print(abteilungen[abteilung].statusAbteilung())
for indx,von,zu in [(6,abteilungen["Verwaltung"],abteilungen["Verkauf"]),
(4,abteilungen["Verwaltung"],abteilungen["Produktion"]),
(5,abteilungen["Einkauf"],abteilungen["Produktion"])]:
ma = von.mitarbeiter[indx]
von.mitarbeiterWeggang(ma)
zu.mitarbeiterZugang(ma)
anrede = "Der Mitarbeiter" if ma.person.geschlecht == "M" else "Die Mitarbeiterin"
print("{} {} {} ({}) verlässt die Abteilung {} und wechselt zur Abteilung {}".format(anrede,ma.person.vorname,ma.person.nachname,indx,von.name,zu.name))
print("betriebsinterner Wechsel:")
for abteilung in abteilungen:
print(abteilungen[abteilung].statusAbteilung())
abteilungen["Verkauf"].mitarbeiterWeggang(abteilungen["Verkauf"].leiter)
abteilungen["Verkauf"].leiter = abteilungen["Verkauf"].stellvertreter
abteilungen["Verkauf"].stellvertreter = abteilungen["Verwaltung"].mitarbeiter[6]
koord=Koordinaten(48.312168,8.204793)
person = Person("Anna","Wolf","W","Oberharmersbach","21.05.74")
adresse = Adresse("Oberharmersbach","Waldowstr. 38","77784",koord)
ma = Mitarbeiter(person,abteilungen["Verkauf"],"Mitarbeiter",2500)
ma.adresse = adresse
abteilungen["Verkauf"].mitarbeiterZugang(ma)
print("Leitungswechsel im Verkauf:")
for abteilung in abteilungen:
print(abteilungen[abteilung].statusAbteilung())
gewinn = Gewinn(Produkte)
gehälter = Gehaltssumme(abteilungen)
print("Gewinn: {:.2f}".format(gewinn))
print("Gehalt: {:.2f}".format(gehälter))
print("Gehälter/Gewinn: {:.2f}".format(gehälter/gewinn))
for produkt in Produkte:
p = Produkte[produkt]
indx = list(Produkte.keys()).index(produkt)
p.einkauf(round(gehälter/gewinn)+1,hersteller[indx])
print("Vorhandene Anzahl von Produkt {} (ID:{}): {}".format(p.name,p.ID,p.anzahl))
Code zu Aufgabe 3 - Fertigung.py¶
In [ ]:
%%writefile ....
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Module Unternehmen/Produkte/Fertigung.py
@author: student
"""
from Unternehmen.Finanzen.Gehalt import Abrechnung
class Produkt():
def __init__(self,name,ID,mannmonate=0,anzahl=0):
self.name = name
self.ID = ID
self.mannmonate = mannmonate
self.anzahl = anzahl
def produktionspreis(self):
makosten = Abrechnung(abteilungen["Produktion"])
self.preis = self.mannmonate * makosten
def verkaufspreis(self,overhead=1.2):
return self.preis * overhead
def erstelle(self,anzahl):
self.anzahl += anzahl
def verkauf(self,anzahl,kunde):
self.anzahl -= anzahl
Code zu Aufgabe 4 - Ergänzung zu main.py¶
In [ ]:
# Ergänzung zu main.py
FertigungsProdukte = [Produkt("Drohne",657846586,23),
Produkt("PiAuto",25634272,12),
Produkt("PiServer",6748959546,6)]
for produkt in FertigungsProdukte:
produkt.erstelle(random.randint(2,10))
print("Vorhandene Anzahl von Produkt {} (ID:{}): {} (VK: {})".format(produkt.name,produkt.ID,produkt.anzahl,produkt.verkaufspreis()))