OOP-Datenbank Python-Code

17. Mai 2025
einträge = []
suchergebnisse = []

class Datenbank():
    def __init__(self, vorname, nachname, klasse, wohnort):
        self.vorname = vorname
        self.nachname = nachname
        self.klasse = klasse
        self.wohnort = wohnort
        einträge.append(self)
  
    @classmethod
    def Datenabruf(cls):
        print("Vorname | Nachname | Klasse | Wohnort")
        print("-------------------------------------")
        
        if not suchergebnisse:
            daten = einträge
        else:
            daten = suchergebnisse
            
        for i in daten:
            print(
                i.vorname + " " * (8 - len(i.vorname)) + "| " +
                i.nachname + " " * (9 - len(i.nachname)) + "| " +
                i.klasse + " " * (7 - len(i.klasse)) + "| " +
                i.wohnort
            ) 
        print(" ")
        print(" ")
        
    @classmethod
    def Suche(cls):
        global suchergebnisse
        suchergebnisse = []
        begriff = input("Geben Sie Ihren gewünschten Suchbegriff ein: ")
        print("Ergebnisse:")
        for i in einträge:
            if begriff in i.vorname or begriff in i.nachname or begriff in i.klasse or begriff in i.wohnort:
                suchergebnisse.append(i)
                
        if suchergebnisse:
            Datenbank.Datenabruf()
        suchergebnisse = []
        

schueler1 = Datenbank("Fabian", "Rütschi", "M26a", "Bolligen")
schueler2 = Datenbank("Bonobo", "Ruedi", "M28a", "Ittigen")
schueler3 = Datenbank("Branath", "Bandi", "G28a", "Bolligen")
Datenbank.Datenabruf()
Datenbank.Suche()