Bouwsteen 3 — de index teruggeven
Hier bouw je op verder: Functies en Return-waarden
Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.
- Python Functies
- Python Return-waarden
Leerdoel: je verpakt je code in een functie en gebruikt return om
de index terug te geven waar je het doel vond.
Hier bouw je op verder: enumerate (bouwsteen 1)
Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.
Wat we willen
Twee dingen tegelijk:
- Niet alleen melden dát je het vond, maar teruggeven wáár het stond.
- Het geheel in een functie stoppen, zodat je hem op elke lijst kunt aanroepen.
Voor de index gebruik je enumerate uit bouwsteen 1:
for i, waarde in enumerate(lijst) geeft elke ronde de index én de waarde.
Voorspel
Wat denk je dat dit print?
def zoek(lijst, doel):
for i, waarde in enumerate(lijst):
if waarde == doel:
return i
print(zoek([3, 1, 4, 1, 5], 4))
print(zoek([3, 1, 4, 1, 5], 1))
Antwoord
2
1
- Bij doel 4: die staat op index 2, en
return 2stopt de functie meteen. - Bij doel 1: de eerste 1 staat op index 1. Daarna stopt de functie, dus de tweede 1 op index 3 komt niet meer in beeld.
Run
Belangrijk: return stopt de functie
Zodra Python return i uitvoert, springt hij de functie uit en gaat de
for-lus niet verder. Dat is precies de bedoeling: stoppen bij de eerste
match.
Wat als we het niet vinden?
Probeer dit:
Wat zie je?
None
Voert de functie nooit een return uit, dan geeft Python automatisch
None terug. Dat is niet wat we willen — we beloofden eerder dat we -1
zouden teruggeven bij "niet gevonden". Dat lossen we in de volgende stap op.
Door naar bouwsteen 4: niet gevonden.