Programmeren in Python/Lussen: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
DimiC88 (overleg | bijdragen)
Code was geschreven voor python 2, werkt niet meer met Python 3, heb het geupdate.
Regel 5:
 
De eerste lus controle structuur is het <code>while</code> statement. Normaal gezien begint de interpreter bij het eerste statement en neemt dan het volgende. Controlestructuren veranderen de volgorde waarin statements uitgevoerd worden of beslissen of het al dan niet uitgevoerd moet worden. Het volgende programma maakt gebruikt van het <code>while</code> statement:
{{Code|
 
| Taal=Python
| Titel=While-lus
| Code=
<source lang="Python">
onetotenfor =a in range(1,11):
a = 0
print (a)
while a < 10 :
print("Lus beëindigd.")
a += 1
print a
print "Loop finished"
</source>
}}
 
De uitvoer bestaat uit de getallen van 1 tot en met 10, gevolgd door de ''LoopLus finishedbeëindigd.''. Dit programma werkt als volgt: de interpreter initialiseert de waarde <code>a</code> op nul en ziet vervolgens <code>while a < 10:</code>; de interpreter interpreteert deze Booleaanse uitdrukking en komt tot de conclusie dat deze equivalent is aan <code>True</code>. Als gevolg hiervan zal de interpreter het geïndenteerde blok uitvoeren waarin de variabele <code>a</code> aangepast wordt en afgedrukt wordt. Na het uitvoeren van dit blok code springt de interpreter terug naar het while-statement en deze sequentie zal zich herhalen zolang de Booleaanse expressie geldig is. Wanneer deze expressie een logische <code>False</code> oplevert, zal de interpreter verder gaan met de code '''na''' het geïndenteerde blok, in dit geval de print van de string ''LoopLus finishedbeëindigd.''.
Hieruit volgt dus dat het van belang is om ervoor te zorgen dat de lusvoorwaarde in de lus zelf aangepast wordt, anders wordt een oneindige lus gemaakt, wat normaliter niet de bedoeling is. Een oneindige lus kan er bijvoorbeeld als volgt uitzien:
 
<source lang="Python">
while 1 == 1:
print ("Help, I'mik stuckzit vast in aeen oneindige looplus.")
</source>
 
Regel 28 ⟶ 30:
Een volgende manier om een lus te implementeren is met hulp van het <code>for</code> statement. Een voorbeeld analoog aan de while lus kan er alsvolgt uitzien:
 
{{Code|
| Taal=Python
| Titel=For-lus
| Code=
<source lang="Python">
onetoten = range(1,11)
for a in onetoten:
print a
print "Loop finished"
</source>
 
De uitvoer is volkomen identiek aan het while-voorbeeld: de getallen van 1 tem 10, gevolgd door de string ''Loop finished''. De code ziet er echter verschillend uit. De eerste regel maakt gebruik van de <code>range(start,einde)</code> functie. Dit genereert een array getallen:
<source lang="Python">
>>>for rangea in range(1,11):
print (a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("Lus beëindigd.")
</source>
}}
De startwaarde is inclusief, de eindwaarde exclusief. Maar terug naar de lus, de tweede regel maakt gebruik van het <code>for</code> statement. Dit ziet er in gebruik als volgt uit <code>for variabele in lijst:</code>. In dit geval zal het geïndenteerde blok opgeroepen worden voor elk element in de lijst, maar zal <code>variabele</code> gelijkgesteld worden aan het huidige element in de lijst (dus de eerste keer zal variabele het eerste element uit de lijst bevatten, de tweede keer het tweede element en zo verder). Dit is een extra voorbeeld van hetzelfde principe, alleen wordt de lijst hier expliciet aangemaakt:
 
De uitvoer is volkomen identiek aan het while-voorbeeld: de getallen van 1 tem 10, gevolgd door de string ''LoopLus finishedbeëindigd.''. De code ziet er echter verschillend uit. De eerste regel maakt gebruik van de <code>range(start,einde)</code> functie. Dit genereert een array getallen:
<source lang="Python">
>>> print(*range(1,11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
</source>
De startwaarde is inclusief, de eindwaarde exclusief. Maar terug naar de lus, de tweedeeerste regel maakt gebruik van het <code>for</code> statement. Dit ziet er in gebruik als volgt uit <code>for variabele in lijst:</code>. In dit geval zal het geïndenteerde blok opgeroepen worden voor elk element in de lijst, maar zal <code>variabele</code> gelijkgesteld worden aan het huidige element in de lijst (dus de eerste keer zal variabele het eerste element uit de lijst bevatten, de tweede keer het tweede element en zo verder). Dit is een extra voorbeeld van hetzelfde principe, alleen wordt de lijst hier expliciet aangemaakt:
{{Code|
| Taal=Python
| Titel=For-lus
| Code=
<source lang="Python">
demolist = ['life',42, 'the universe', 6,'and',7,'everything']
for item in demolist:
print ("The Current item is: %s" % item)
</source>
}}
 
Welke volgende uitvoer geeft:
<pre>
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.