nun komme ich mal zu meinem script:
wir sollen ein script erstellen mit dem es uns möglich ist die steuern von vier verschiedenen hofzwergklassen zu berechnen.
und zwar habe ich eine oberklasse, welche später die steuern berechnet und
die daten+steuern etc ausgeben soll
dann habe ich die klassen zeitarbeiter(teilt sich nochmal in 2 auf) und hofzwerge(teilt sich noch,al in die hofzwerge 1. und 2. klasse auf)
und nun sollen wir mit dem modul random zehn verschiedene hofzwerge erzeugen und es sollen wenn möglich alle vier klassen vorkommen.
nun habe ich die klassen modelliert und das script geschrieben aber es funktioniert nicht
zu info noch: die hofzwerge sollen später auch einen namen haben, dieser sollte seine nummer sein sprich
zwerg 1 heißt 1
zwerg 2 heißt 2 usw
aber nun poste ich mal den code hoffe ihr könnt mir helfen
mfg splsah
Code: Alles auswählen
#Obersteklasse,welche die Steuern ausrechnet und sonst alle informationen über die hofzbediensteten festlegtt
class hofburg:
def __init__(self):
self.name=''
self.basisfreibetrag=10
self.freibetrag=0
self.steuerbetrag=0
def berechnung(self):#Prozedur um die Steuern vom Gehalt abzuziehen
self.freibetrag=self.basisfreibetrag+self.zusatzfreibetrag
if self.gehalt > 13:
self.steuerbetrag=(self.gehalt-self.freibetrag)*45/100 #Formel um die Steuer zu berechnen
else:
self.freibetrag=self.gehalt
self.nettogehalt=self.gehalt-self.steuerbetrag
def ausgabe(self):
print 'Nummer des Zwerges:'+str(self.name)
print 'Beruf:'+str(self.arbeitergruppe)
print 'Gehalt:'+str(self.gehalt)
print 'Basisfreibetrag:'+str(self.basisfreibetrag)
print 'Zusatzfreibetrag:'+str(self.zusatzfreibetrag)
print 'Freibetrag:'+str(self.freibetrag)
print 'Steuer:'+str(self.steuerbetrag)
print 'Nettogehalt:'+str(self.nettogehalt)
#Basisklasse der Hofzwerge
class hofzwerge(hofburg):
def __init__(self):
self.freibetrag=10
#Hofzwerge 1.Klasse
class hofzwerg1klasse(hofzwerge):
def __init(self):
self.arbeitergruppe='Hofzwerg 1.Klasse'
self.gehalt=35
self.zusatzfreibetrag=3
hofzwerge.__init__(self) #Basisklasse wird als Prozedur in der Unterklasse aufgeführtt
#Hofzwerge 2.Klasse
class hofzwerg2klasse(hofzwerge):
def __init__(self):
self.arbeitergruppe='Hofzwerg 2.Klasse'
self.gehalt=45
self.zusatzfreibetrag=4
hofzwerge.__init__(self) #Basisklasse wird als Prozedur in der Unterklasse aufgeführtt
#Basisklass der Zeitarbeiter(Achtung diese Arbeiter werden nach Arbeitszeit bezahlt)
class zeitarbeiter(hofburg):
def __init__(self):
self.nummer=""
self.freibetrag=10
#Klasse der Kammerkaligraphen
class kammerkaligraph(zeitarbeiter):
def __init__(self):
self.stundenlohn=2
self.zeiteinheit=1
self.zusatzfreibetrag=3
self.gehalt=self.stundenlohn*self.zeiteineit #Berechnung des Gehaltes
zeitarbeiter.__init__(self) #Basisklasse wird als Prozedur in der Unterklasse aufgeführtt
#Klasse der Hofpompfuenbristen
class hofpompfuenebristen(zeitarbeiter):
def __init__(self):
self.stundenlohn=8
self.zeiteinheit=1
self.zusatzfreibetrag=3
self.gehalt=self.zeiteinheit*self.stundenlohn
zeitarbeiter.__init__(self) #Basisklasse wird als Prozedur in der Unterklasse aufgeführtt
# Hier beginnt das eigentliche script denn hier werden nun die Bediensteten entwickelt
import random
z=10
while z<10:
x=int(random.uniform(1,4))
z=name()
if x==1:
arbeitergruppe=hofzwerg1klasse()
elif x==2:
arbeitergruppe=hofzwerg2klasse()
elif x==3:
arbeitergruppe=kammerkaligraph()
elif x==4:
arbeitergruppe=hofpompfuenebristen()
z=z-1
z.name=z
z.berechnung()#Steuer des jeweiligen Zwerges wird berechnet
z.ausgabe(name)#Ausgabe der Steuern mit der dazugehörigen Nummer des Zwergess