LOOPS, oftewel herhalingen, komen veel voor in ons dagelijkse leven, maar ook in de programmeercode die we gebruiken. Een aantal voorbeelden uit het dagelijkse leven.
- De wekelijkse boodschappen halen
- Naar werk en weer naar huis reizen
- Het opscheppen van je eten
Een voorbeeld bij het schrijven van code zou kunnen zijn:
- Een logfile regel voor regel lezen
- Door een lijst van personen heen ‘stappen’
- Gebruikers herhaaldelijk om input vragen.
Er zijn in Python 2 soorten ‘loops’, namelijk de FOR-loop en de WHILE-loop.
For-loop
Keyword: Continue
Wanneer we de uitvoering van deze code nader bekijken dan staat er in de code de volgende opdracht:
- Haal een element op uit de tuple en plaats de waarde in de variabele ssd_write_speed.
- Als de waarde van de eerstvolgende snelheid niet in de range van 6000 ligt, dan wordt continue aangeroepen
- Continue zorgt ervoor dat er naar het volgende element in de tuple wordt gezocht en alle regels daaronder worden niet meer uitgevoerd.
- Zodra er een snelheid wordt gevonden die voldoet aan de gestelde criteria, dan wordt de tekst op het scherm weergeven.
- Het keyword continue zorgt ervoor dat er direct een volgend element wordt opgehaald.
Dit wordt vaak gebruikt als er meerdere voorwaarden zijn waarop er iets moet gebeuren. Als echter een criterium niet klopt dan heeft de rest van de code geen zin en processing tijd wordt dan bespaard.
Keyword: Break
Bij deze variant doorloopt het programma een tuple en vragen we te stoppen bij een, van te voren aangegeven, specifieke waarde.
In het onderstaande voorbeeld gaan we uit van dezelfde tuple als bij het vorige onderwerp (Keyword continue) en willen we stoppen bij de waarde 4400:
De variabele:
Ssd-write_speeds = (6500,7000,5300,6600,6800,5000,6900,3288,3200,3000,4400, 6850,2900,4900,4200,3000,3100,5100,530,510,6200,6900,6800,4100)
De for-loop
For ssd_write-speed in ssd_write_speeds:
If ssd_write-speed==4900:
break
print(f’{ssd_write_speed] MBps’)
Wanneer we de loop bekijken wordt er de volgende opdracht gegeven:
Haal een element uit de tuple en plaats de waarde in de variabele ssd_write_speed. Als de waarde van de ssd gelijk is aan 4900, dan wordt de break aangeroepen. Dit betekent dat het programma verder gaat op de eerste regel na de for-loop.
In dit voorbeeld betekent het aanroepen van de break ook het einde van het programma. Zolang de waarde 4900 echter niet is gevonden wordt de tekst op het scherm weergegeven. Dit wordt vaak gebruikt in de situatie dat je op zoek bent naar een specifieke waarde/situatie.
De while loop
Een while-loop is een loop die zich blijft herhalen zolang de conditie bij de start blijft kloppen en dus true is. De code van een standaard while-loop ziet er als volgt uit:
While <condition>
<code blok>
While-loop
While-loop als flowchart
De while-loop en keyword continue
Ook bij de while-loop kan het keyword continue gebruikt worden gebruikt en ook hier zorgt dit ervoor dat er direct naar het begin van de while-loop wordt gesprongen, namelijk de conditie.
De while-loop en keyword break
Ook bij de while-loop kan het keyword break worden gebruikt. Ook hier zorgt dit ervoor dat er direct uit de loop wordt gesprongen. Het programma gaat na de while weer verder.
Samenvattend voor de loops:
In software hebben we veel te maken met herhalingen. Herhalingen kan je zien als iteraties door lijsten, verzamelingen, gegevens etc. Voor het afhandelen van dit soort iteraties kan je in python goed de for- en while-loop gebruiken.
Als vuistregel voor het odnerscheid van die twee kan je de volgende vuistregel gebruiken:
- Als je weet hoeveel elementen of iteraties er nodig zijn, kan je het beste de for-loop gebruiken
- Als je niet weet hoeveel elementen of iteraties er nodig zijn, dan kan je het beste gebruik maken van de while-loop
Van de docent krijg je te horen welke opgaven je kan maken