########################################################################################################## # Bündelung der Schülerdaten und zugehörigen Methoden in einer Klasse (objektorientiertes Programmieren) # ########################################################################################################## class Schueler(): def __init__(self, name, alter, notenliste): self.name = name self.alter = alter self.notenliste = notenliste self.erwachsen = alter >= 18 def __repr__(self): s = f'\nIch heisse {self.name}, bin {self.alter} Jahre alt und ' if not self.erwachsen: s += 'nicht ' s += f'erwachsen.\nDie Liste meiner Noten ist {self.notenliste}.\n' s += f'Mein Notendurchschnitt ist {self.notenschnitt()}.\n' return s def speichere_note(self, note): self.notenliste.append(note) def geburtstag(self): self.alter += 1 if self.alter >= 18: self.erwachsen = True def notenschnitt(self): if len(self.notenliste) > 0: return sum(self.notenliste)/len(self.notenliste) else: return 'undefiniert' A = Schueler("Pinocchio", 16, []) B = Schueler("Cinderella", 8, []) print(A) A.speichere_note(4.0) A.speichere_note(4) A.speichere_note(6.0) A.geburtstag() A.geburtstag() print(A) print(B) B.geburtstag() B.speichere_note(6) B.speichere_note(6) B.speichere_note(6) print(B)