👀 Voorbeeld - Repelsteeltje
Het klassieke sprookje van Repelsteeltje is gekend van de gebroeders Grimm.
Een molenaar bestoeft zijn dochter bij de koning. Hij zegt dat ze werkelijk alles kan. Daarom huurt de koning haar in om goud te spinnen uit stro, waarvoor ze een nacht de tijd krijgt. Het meisje is radeloos. Een klein mannetje komt haar helpen, maar wil in ruil haar halsketting. De volgende nacht helpt het mannetje opnieuw, maar eist haar ring. De derde nacht vraagt het mannetje haar eerstgeboren kind. Op een dag wordt het kind geboren en komt het mannetje het kind opeisen. Het meisje is enorm verdrietig, waarop het mannetje besluit dat hij afziet van zijn eis als zij zijn naam kan raden. Alle namen uit het land worden verzameld, maar geen enkele klopt.
Hieronder verklappen we de naam van het mannetje letter per letter.
woord = '' for i in 'Repelsteeltje': woord += i print(woord)
Probeer deze code eens uit in de sandbox van de pagina hierachter.
Het bijhorende stroomdiagram ziet er als volgt uit:
Uiteindelijk wordt het mannetje al zingend betrapt rond een kampvuur in het bos: Niemand weet dat ik Repelsteeltje heet. De volgende dag raadt het meisje zijn naam.
We hebben hier opnieuw te maken met een vorm van herhaling. In tegenstelling tot de while
-lus is deze soort herhaling steeds begrensd en eindig. We doorlopen een collectie in een bepaalde volgorde, in dit geval letters in een string
.
❓ Vraag
Hoe kan je code herhalen voor verschillende elementen van een collectie in een bepaalde volgorde?
Wanneer een mens eenzelfde taak herhaaldelijk moet uitvoeren, geraakt die verveeld. Een computer daarentegen is erg geschikt hiervoor en wordt dan ook veelvuldig ingezet voor repetitieve taken.