Objekte suchen
Beispiel
def finde_schueler(liste, name):
for s in liste:
if s.name.lower() == name.lower():
return s
return None
treffer = finde_schueler(klasse, "luna")
if treffer:
print("Gefunden:", treffer.name)
else:
print("Nicht da.")
Rate mal!
Warum return None?
Auflösung
Signal: nichts gefunden – Aufrufer kann prüfen.
Probiere es selbst
Experiment 1
Suche Haustier nach Name.
Experiment 2
Suche Buch nach Autor.
Experiment 3
Zähle, wie viele hunger groesser 5 haben.
Übungen
Level 1
Finde Namen in Liste.
Level 2
Funktion finde_...
Level 3
Alle mit punkte groesser-gleich 50 sammeln.
Level-2-Lösung
def finde(liste, name):
for obj in liste:
if obj.name == name:
return obj
return None
Mini-Quiz
Suche sitzt! Als Nächstes: Objekte zusammenarbeiten.