We hebben de basisgegevens typen, geavanceerde gegevens typen en voorwaardelijke uitspraken in Python in onze vorige blogs behandeld. In deze blog zullen de lussen worden behandeld. Als je nieuw bent met Python, begin dan bij de eerste blog om een beter begrip van dit onderwerp te krijgen.
Lussen worden gebruikt wanneer er behoefte is om een taak meer dan één keer uit te voeren. Bijvoorbeeld, het afdrukken van nummers van 1 tot 100 of een beter voorbeeld zou zijn om alle elementen in een lijst of een array op te tellen. Soms is er behoefte om meer dan 1 lus of een lus binnen een lus te schrijven. In Python is het schrijven van deze lussen heel eenvoudig en zelfs de syntaxis is gemakkelijk te begrijpen. Zoals we hebben gezien, hoeven we in Python geen variabele eerst te declareren voordat we deze gebruiken. De basislus begint met de for-lus. Laten we de “for” lus begrijpen.
In een for-lus hebben we drie dingen die moeten worden vermeld. De eerste is de initiële waarde van de variabele waarop de iteratie moet worden uitgevoerd, de stopvoorwaarde en de laatste is met hoeveel stappen je de iterator wilt verhogen of verlagen.
Laten we de syntaxis van een “for” lus bekijken:
# For-lus for var in range(10): print(var) for var in range(0,10,1): print(var)
In de bovenstaande code illustratie zien we dat for-lussen hetzelfde resultaat geven. De syntaxis aan het einde waar we de functie range hebben opgegeven, heeft drie argumenten die we in de vorige alinea hebben besproken. In het bovenstaande voorbeeld heeft de range 0,10,1 waarbij 0 de initiële waarde van de iterator is, 10 de eindwaarde is, maar range iterates eigenlijk tot 10-1 wat 9 is en 1 is de verhoging van de iterator elke keer dat de lus draait.
Laten we het bovenstaande programma uitvoeren
Output: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Zoals we kunnen zien uit de output illustratie, print het nummers van 0 tot 9.
In een lijst hebben we een verzameling items en hieronder is de illustratie van hoe for-lussen te gebruiken om door een lijst te itereren.
X=[1,2,3,4,5,6] for i in X: print(i)
Output: Dit zal alle elementen in de lijst afdrukken. 1,2,3,4,5,6
Om de index ook op te nemen tijdens het afdrukken, is de code hieronder geïllustreerd.
X=[1,2,3,4,5,6] for i in range(len(X)): print(i,X[i])
Dit zal zowel de index als de waarde in de lijst afdrukken.
Er is een gemakkelijke manier om de index en waarde te krijgen met behulp van de enumerate functie. Het gebruik van de enumerate functie is hieronder geïllustreerd.
X=[1,2,3,4,5,6] for i,value in enumerate(X): print(i,value)
Output: 0,1 1,2 2,3 3,4 4,5 5,6
Itereren door een set is zoals de lijstiteratie met for-lus. Een voorbeeld is hieronder geïllustreerd.
X={1,2,3,4,5,6} for i,value in enumerate(X): print(i,value)
Output: 0,1 1,2 2,3 3,4 4,5 5,6
Itereren door een tuple is zoals de lijstiteratie met for-lus. Een voorbeeld is hieronder geïllustreerd.
X=(1,2,3,4,5,6) for i,value in enumerate(X): print(i,value)
Output: 0,1 1,2 2,3 3,4 4,5 5,6
Itereren door een woordenboek is anders dan de andere gegevenstypen, aangezien het woordenboek sleutel-waarde paren bevat. Daarom gebruiken we om alleen sleutels te krijgen dictionaryname.keys() en voor waarden gebruiken we dictionaryname.values(). Een voorbeeld is hieronder geïllustreerd.
X={“1”:1,”2”:2} for key in X.keys(): print(key) for value in X.values(): print(value) for key,value in X.items(): print(key,value)
Output: 1 2 1 2 1,1 2,2
Geneste lussen zijn nuttig bij het bouwen van een brute force oplossing voor een gegeven probleem. Ze verhogen de tijdcomplexiteit van het programma en verminderen de leesbaarheid.
a = [1, 2] b = [10, 13] # getallen krijgen waarvan het product 13 is for i in a: for j in b: if i*j == 13: print(i, j)
In het bovenstaande codeblok hebben we 2 lijsten gedefinieerd en elke lijst heeft een verzameling getallen. Het belangrijkste doel was om te vinden welke getallenproduct 13 zal zijn van beide lijsten en ook om die getallen af te drukken. Voor dit doel moesten we door 2 lijsten itereren, daarom werden 2 for-lussen gebruikt.
Alternatieve manier:
Er is een functie in itertools die product wordt genoemd. Dit helpt om de geneste for-lussen, indien aanwezig in het programma, leesbaar te houden. Het voorbeeld is hieronder geïllustreerd.
from itertools import product
a = [1, 2]
b = [10, 13]
# getallen krijgen waarvan het product 13 is
for i, j in product(a, b):
if(i*j == 13): print(i, j)
Tot nu toe hebben we alleen de output afgedrukt maar nooit input aan ons programma gegeven. In Python wordt input() gebruikt om input aan het programma te geven. Het examen is hieronder geïllustreerd. De while-lus wordt gebruikt wanneer je een programma wilt uitvoeren als de voorwaarde is vervuld. Voorbeelden van while-lussen zijn hieronder geïllustreerd.
Afdrukken van 0-9 met while-lus:
i = 0
while(i < 10): print(i) i += 1
Zoals je kunt zien is de syntaxis while gevolgd door een voorwaarde, en binnen de lus verhogen we de iterator volgens het gewenste aantal.
Output: 0 1 2 3 4 5 6 7 8 9
In deze blog hebben we enkele basisprincipes van lusuitspraken in python behandeld, de verdere onderwerpen over functies zullen worden behandeld in de volgende blog. De vraag die moet worden opgelost is hieronder gegeven.
Je kunt ook onze JavaScript-cursus van beginner tot gevorderd leuk vinden.
JavaScript-expert en instructeur die IT-afdelingen coacht. Zijn belangrijkste doel is om de productiviteit van het team te verhogen door anderen te leren hoe ze effectief kunnen samenwerken tijdens het coderen.
Het is algemeen bekend dat de PrestaShop-webwinkel gratis is, maar sommige elementen vereisen extra betalingen,…
Hoe bereiken we nieuwe gebruikers? Wat kunnen we doen om ervoor te zorgen dat een…
Globale inkoop is een bekende zakelijke oplossing. De huidige marktomstandigheden, globalisering en toenemende klantverwachtingen dwingen…
Hou je ervan om GIFs online te vinden en te delen? Leer hoe je in…
Denk je erover na om een bedrijf te starten, maar ben je verdwaald in het…
Onderzoek van het Economic Policy Institute toont aan dat CEO's van de 350 grootste bedrijven…