Python For & While-lussen: verklaring opsommen, onderbreken, voortzetten
Wat is Loop?
Lussen kunnen een codeblok een aantal keren uitvoeren totdat aan een bepaalde voorwaarde is voldaan. Het gebruik ervan is vrij gebruikelijk bij het programmeren. In tegenstelling tot andere programmeertalen die For Loop, while loop, dowhile, etc.
Wat is ForLoop?
For-lus wordt gebruikt om elementen van een reeks te herhalen. Het wordt vaak gebruikt als u een stukje code heeft dat u “n” keer wilt herhalen.
Wat is While Loop?
While Loop wordt gebruikt om een codeblok te herhalen. In plaats van het codeblok één keer uit te voeren, wordt het codeblok meerdere keren uitgevoerd totdat aan een bepaalde voorwaarde is voldaan.
Hoe gebruik je “While Loop”
While loop doet precies hetzelfde als wat “if statement” doet, maar in plaats van het codeblok één keer uit te voeren, springen ze terug naar het punt waar de code begon en herhaalt het hele proces opnieuw.
Syntaxis
while expression Statement
Voorbeeld:
# #Example file for working with loops # x=0 #define a while loop while(x <4): print(x) x = x+1
Verwachte resultaten:
0 1 2 3
- Coderegel 4: Variabele x is ingesteld op 0
- Coderegel 7: Terwijl de lus controleert op voorwaarde x<4. De huidige waarde van x is 0. Voorwaarde is waar. De controlestroom treedt in terwijl Loop
- Coderegel 8: Waarde van x wordt afgedrukt
- Coderegel 9: x wordt met 1 verhoogd. De controlestroom gaat terug naar regel 7. Nu is de waarde van x 1, wat kleiner is dan 4. De voorwaarde is waar, en opnieuw wordt de while-lus uitgevoerd. Dit gaat door totdat x 4 wordt, en de while-voorwaarde onwaar wordt.
Hoe "For Loop" te gebruiken
In Python, “for loops” worden genoemd iteratoren.
Net als while-loop wordt ook “For Loop” gebruikt om het programma te herhalen.
Maar in tegenstelling tot while-lus, die afhankelijk is van de voorwaarde waar of onwaar. “For Loop” is afhankelijk van de elementen die het moet herhalen.
Voorbeeld:
# #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print(x)
Verwachte resultaten:
2 3 4 5 6
For Loop itereert met het nummer dat binnen het bereik is gedeclareerd.
Bijvoorbeeld
For loop voor x binnen bereik (2,7)
Wanneer deze code wordt uitgevoerd, wordt het getal tussen 2 en 7 (2,3,4,5,6) afgedrukt. In deze code wordt nummer 7 niet beschouwd als binnen het bereik.
For Loops kunnen ook voor een aantal andere dingen worden gebruikt, niet alleen voor cijfers. We zullen dun zien in de volgende sectie.
Hoe For Loop voor String te gebruiken
In deze stap zullen we zien hoe “for-lussen” ook voor andere dingen dan getallen gebruikt kunnen worden.
Voorbeeld:
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print(m)
Verwachte resultaten:
Jan Feb Mar April May June
Coderegel 3: We slaan de maanden (“Jan, Feb, Mar, April, Mei, Juni”) op in variabele maanden
Coderegel 4: We herhalen de for-lus over elke waarde in maanden. De huidige waarde van Maanden in opgeslagen in variabele m
Coderegel 5: Druk de maand af
Break-instructies gebruiken in For Loop
Breakpoint is een unieke functie in For Loop waarmee u de uitvoering van de for-lus kunt verbreken of beëindigen
Voorbeeld:
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print(x)
Verwachte resultaten:
10 11 12 13 14
In dit voorbeeld hebben we de getallen van 10-20 gedeclareerd, maar we willen dat onze for-lus eindigt bij getal 15 en stopt met uitvoeren. Hiervoor declareren we de break-functie door (x==15): break te definiëren, zodat zodra de code getal 15 aanroept, het programma wordt beëindigd Coderegel 10 declareer variabele x tussen bereik (10, 20)
- Coderegel 11 declareert de voorwaarde voor het breekpunt op x==15,
- Coderegel 12 controleert en herhaalt de stappen totdat nummer 15 wordt bereikt
- Coderegel 13 Druk het resultaat af in uitvoer
Hoe u “continu statement” gebruikt in For Loop
De functie Continue zal, zoals de naam aangeeft, de huidige iteratie van de for-lus beëindigen, MAAR de uitvoering van de resterende iteraties voortzetten.
Voorbeeld
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print(x)
Verwachte resultaten:
11 12 13 14 16 17 18 19
De Continue-instructie kan worden gebruikt in de for-lus als u een specifieke waarde uit de lijst wilt ophalen.
In ons voorbeeld hebben we de waarde 10-20 gedeclareerd, maar tussen deze getallen willen we alleen de getallen plaatsen die NIET deelbaar zijn door 5, of met andere woorden, die niet nul opleveren bij deling door 5.
Dus in ons bereik (10,11, 12….19,20) vallen er slechts 3 getallen (10,15,20) die deelbaar zijn door 5 en de rest niet.
Dus behalve nummer 10,15 en 20 zal de “for-lus” niet doorgaan en deze nummers afdrukken als uitvoer.
- Coderegel 10 declareert de variabele x voor bereik (10, 20)
- Coderegel 12 declareert de voorwaarde voor x gedeeld door 5=0 ga door
- Coderegel 13 drukt het resultaat af
Wat is enumerate() in Python?
opsommen() IN PYTHON is een ingebouwde functie die wordt gebruikt voor het toewijzen van een index aan elk item van het iterabele object. Het voegt een lus toe aan de itereerbare objecten terwijl het huidige item wordt bijgehouden en retourneert het object in een optelbare vorm. Dit object kan in een for-lus worden gebruikt om het naar een lijst te converteren met behulp van de list()-methode.
Voorbeeld:
Functie opsommen wordt gebruikt voor het nummeren of indexeren van de leden in de lijst.
Stel dat we een nummering willen doen voor onze maand (jan, feb, mar, ….juni), dan declareren we de variabele i die de nummers opsomt, terwijl m het nummer van de maand in de lijst zal afdrukken.
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print(i,m) # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Verwachte resultaten:
0 Jan 1 Feb 2 Mar 3 April 4 May 5 June
Wanneer code wordt uitgevoerd, retourneert de uitvoer van de enumerate-functie de naam van de maand met een indexnummer zoals (0-jan), (1-februari), (2-maart), enz.
- Coderegel 3 verklaart de lijst met maanden [januari, feb,…juni]
- Coderegel 4 declareert variabele i en m voor For Loop
- Coderegel 5 drukt het resultaat af en voert opnieuw de For Loop in voor de rest van de maanden om op te sommen
Praktisch voorbeeld
Laten we nog een voorbeeld bekijken waarin For Loop dezelfde verklaring steeds opnieuw herhaalt.
Python lus | Werkcode voor alle oefeningen |
---|---|
Codeer voor while-lus |
x=0 while (x<4): print (x) x= x+1 |
Voor lus Eenvoudig voorbeeld |
x=0 for x in range (2,7): print (x) |
Gebruik van for-lus in string |
Months = ["Jan","Feb","Mar","April","May","June"] for m in (Months): print (m) |
Gebruik break-statement in for-lus |
for x in range (10,20): if (x == 15): break print (x) |
Gebruik van de Continue-instructie in for-lus |
for x in range (10,20): if (x % 5 == 0): continue print (x) |
Code voor “enumerate function” met “for loop” |
Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print (i,m) |
Hoe je een for-lus kunt gebruiken om dezelfde instructie keer op keer te herhalen
Je kunt een for-lus gebruiken om dezelfde verklaring steeds opnieuw te herhalen. Hier in het voorbeeld hebben we het woord “guru99” drie keer afgedrukt.
Voorbeeld: Om dezelfde uitspraak een aantal keren te herhalen, hebben we het getal in variabele i gedeclareerd (i in 123). Dus wanneer u de code uitvoert zoals hieronder weergegeven, wordt de verklaring (guru99) afgedrukt die vele malen het getal is dat voor onze variabele is gedeclareerd in ( i in 123).
for i in '123': print ("guru99",i,)
Verwachte resultaten:
guru99 1 guru99 2 guru99 3
Net als andere programmeertalen, Python gebruikt ook een lus, maar in plaats van een reeks verschillende lussen te gebruiken, is deze beperkt tot slechts twee lussen “While loop” en “for loop”.
- While-lussen worden uitgevoerd op basis van de vraag of de voorwaardelijke instructie waar of onwaar is.
- For-lussen worden iterators genoemd en herhalen het element op basis van de ingestelde voorwaarde
- Python For-lussen kunnen ook worden gebruikt voor een reeks andere dingen (het specificeren van de verzameling elementen die we willen herhalen)
- Breakpoint wordt in For Loop gebruikt om het programma op een bepaald punt te onderbreken of te beëindigen
- Doorgaan met de instructie gaat door met het afdrukken van de instructie en drukt het resultaat af volgens de ingestelde voorwaarde
- De functie Opsomming in "for loop" retourneert het lid van de verzameling waar we naar kijken met het indexnummer
Python 2 Voorbeeld
Bovenstaande codes zijn Python 3 voorbeelden, als je wilt binnenlopen Python 2. Houd rekening met de volgende code.
# How to use "While Loop" #Example file for working with loops # x=0 #define a while loop while(x <4): print x x = x+1 #How to use "For Loop" #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print x #How to use For Loop for String #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print m #How to use break statements in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print x #How to use "continue statement" in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print x #How to use "enumerate" function for "For Loop" #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print i,m # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Output:
0 1 2 3 2 3 4 5 6 Jan Feb Mar April May June 10 11 12 13 14 11 12 13 14 16 17 18 19 0 Jan 1 Feb 2 Mar 3 April 4 May 5 June