Zum Hauptinhalt springen

Minimum selbst finden

Ohne min()

def finde_min(liste):
if not liste:
return None
kleinstes = liste[0]
for wert in liste[1:]:
if wert < kleinstes:
kleinstes = wert
return kleinstes

print(finde_min([5, 2, 9, 1, 7]))

Idee: Merke dir den bisherigen Sieger, vergleiche weiter.

Rate mal!

Startwert?

Auflösung

Meist das erste Element – dann mit dem Rest vergleichen.

Probiere es selbst

Experiment 1

finde_min nachbauen.

Experiment 2

finde_max analog.

Experiment 3

Index des Minimums zurückgeben.

Übungen

Level 1

Minimum mit Schleife.

Level 2

Maximum.

Level 3

Min und Max als Tupel return.

Level-3-Lösung
def min_max(liste):
lo = hi = liste[0]
for w in liste[1:]:
if w < lo:
lo = w
if w > hi:
hi = w
return lo, hi

Mini-Quiz

Mini-QuizWomit startet man oft die Min-Suche?

Min sitzt! Als Nächstes: einfaches Sortieren verstehen.