Bouw zelf — vind ook de index van het maximum
Leerdoel: je past het patroon aan om niet alleen de waarde, maar ook de positie (index) terug te geven.
Opdracht
Schrijf vind_index_van_maximum(lijst) die de index terug geeft van
het maximum. Bij meerdere voorkomende → de eerste index.
vind_index_van_maximum([3, 7, 2, 9, 4])→3vind_index_van_maximum([10, 20, 20, 10])→1(eerste 20)vind_index_van_maximum([42])→0
Aan het eind plotten we de lijsten en markeren we de gevonden index met een rode dot.
Tip
Zelfde patroon als vind_maximum, maar nu houd je een index bij in
plaats van een waarde. Vergelijken doe je via lijst[max_index].
Welke startwaarde kies je voor max_index? Welke variabele update je bij
een nieuwe winnaar?
Loop door de lijst met enumerate zodat je in elke ronde zowel de
huidige index als de huidige waarde hebt.
Antwoord
def vind_index_van_maximum(lijst):
max_index = 0
for i, waarde in enumerate(lijst):
if waarde > lijst[max_index]:
max_index = i
return max_index
Waarom > en niet >=?
>→ bij gelijke waardes blijft de eerste index staan.>=→ bij gelijke waardes wordt de laatste index gepakt.
Beide zijn geldige keuzes — kies bewust.
Uitdaging (optioneel)
Schrijf vind_alle_indexen_van_maximum(lijst) die een lijst van alle
indexen returnt waar het maximum staat. Bijv. [5, 3, 5, 2, 5] → [0, 2, 4].
Door naar stap 9: veelgemaakte fouten →