ich bin grad an einer Übung von A Byte of Python:
Code: Alles auswählen
#! /usr/bin/python
# Klassenstruktur Orig. aus "A byte of Pythond (deu)
class SchulMitglied:
def __init__(self, name, alter):
self.name = name
self.alter = alter
print 'Schulmitglied "%s" wird initialiesiert' % self.name
def auskunft(self):
print 'Name: "%s", Alter: "%d"' % (self.name, self.alter)
class Lehrer (SchulMitglied):
def __init__(self, name, alter, gehalt):
SchulMitglied.__init__(self, name, alter)
self.gehalt = gehalt
print 'Lehrer: "%s" inititalisiert' % self.name
def auskunft(self):
SchulMitglied.auskunft(self)
print 'Gehalt: "%d"' % self.gehalt
class Schueler (SchulMitglied):
def __init__(self, name, alter, note):
SchulMitglied.__init__(self, name, alter)
self.note = note
print 'Schueler: "%s" inititialisiert' % self.note
def auskunft(self):
SchulMitglied.auskunft(self)
print 'Note: "%1.1f"' % self.note
# Da ich noch etwas den Syntax üben wollte, habe ich mich entschlossen, das script interactiver zu machen
fort = True
# Lehrere Listen, in dem die passende Funktion reinsoll
ln = []
sn = []
while fort:
group = int(raw_input('Sind Sie Lehrer (1) oder Schueler (2)? '))
n = str(raw_input('Geben Sie ihren Namen ein: '))
a = int(raw_input('Geben Sie ihr Alter ein: '))
if group == 1:
g = int(raw_input('Geben Sie ihr Gehalt ein: '))
lno = 'Lehrer(%s, %d, %d).auskunft()' % (n, a, g) # Fertige Funktion sozusagen
ln.append(lno) # Hinzufügen der fertigen Funktion der Liste, um mehrere Mitglieder zu ermöglichen
if group == 2:
no = raw_input('Geben Sie ihre durchschnittliche Note ein: ')
sno = 'Schueler(%s, %d, %1,1f).auskunft()' % (n, a, no)
sn.append(sno)
wei = str(raw_input('Neuer Eintrag? '))
if wei == "nein":
fort = False
#Ausgabe aller Daten
for lehrer in ln:
print lehrer # Wie zu erwarten, wird ein String ausgegeben...
Gruß