Python For & While Loops: Enumerate, Break, Continue Statement
Co je Loop?
Smyฤky mohou provรฉst blok kรณdu tolikrรกt, dokud nenรญ splnฤna urฤitรก podmรญnka. Jejich pouลพitรญ je v programovรกnรญ pomฤrnฤ bฤลพnรฉ. Na rozdรญl od jinรฝch programovacรญch jazykลฏ, kterรฉ majรญ For Loop, while loop, dowhile atd.
Co je For Loop?
Cyklus For se pouลพรญvรก k iteraci prvkลฏ sekvence. ฤasto se pouลพรญvรก, kdyลพ mรกte kus kรณdu, kterรฝ chcete opakovat โnโ kolikrรกt.
Co je While Loop?
Zatรญmco smyฤka se pouลพรญvรก k opakovรกnรญ bloku kรณdu. Namรญsto jednorรกzovรฉho spuลกtฤnรญ bloku kรณdu provede blok kรณdu vรญcekrรกt, dokud nenรญ splnฤna urฤitรก podmรญnka.
Jak pouลพรญvat โWhile Loopโ
Zatรญmco smyฤka dฤlรก pลesnฤ to samรฉ, co dฤlรก pลรญkaz โifโ, ale mรญsto toho, aby jednou spustil blok kรณdu, skoฤรญ zpฤt do bodu, kde zaฤal kรณd, a celรฝ proces opakuje znovu.
Syntax
while expression Statement
Pลรญklad:
# #Example file for working with loops # x=0 #define a while loop while(x <4): print(x) x = x+1
Oฤekรกvanรฝ vรฝstup:
0 1 2 3
- Code ลรกdek 4: Promฤnnรก x je nastavena na 0
- Code ลรกdek 7: Smyฤka while kontroluje podmรญnku x < 4. Aktuรกlnรญ hodnota x je 0. Podmรญnka je pravdivรก. Tok ลรญzenรญ vstupuje do smyฤky while.
- Code ลรกdek 8: Vypรญลกe se hodnota x
- Code ลรกdek 9: x se zvรฝลกรญ o 1. Tok ลรญzenรญ se vrรกtรญ na ลรกdek 7. Nynรญ je hodnota x 1, coลพ je menลกรญ neลพ 4. Podmรญnka je pravdivรก a znovu se provede smyฤka while. Toto pokraฤuje, dokud se x nestane 4 a podmรญnka while se nestane nepravdivou.
Jak pouลพรญvat โFor Loopโ
In Python, se nazรฝvajรญ โcykly forโ. iterรกtory.
Stejnฤ jako smyฤka while se i โFor Loopโ pouลพรญvรก k opakovรกnรญ programu.
Ale na rozdรญl od smyฤky while, kterรก zรกvisรญ na podmรญnce true nebo false. โFor Loopโ zรกvisรญ na prvcรญch, kterรฉ musรญ iterovat.
Pลรญklad:
# #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)
Oฤekรกvanรฝ vรฝstup:
2 3 4 5 6
For Loop iteruje s ฤรญslem deklarovanรฝm v rozsahu.
Napลรญklad,
Pro smyฤku pro x v rozsahu (2,7)
Po provedenรญ tohoto kรณdu vytiskne ฤรญslo mezi 2 a 7 (2,3,4,5,6). V tomto kรณdu nenรญ ฤรญslo 7 uvaลพovรกno uvnitล rozsahu.
For Loops lze pouลพรญt i na sadu jinรฝch vฤcรญ a ne jen na ฤรญslo. V dalลกรญ ฤรกsti uvidรญme tenkรฉ.
Jak pouลพรญvat For Loop pro String
V tomto kroku uvidรญme, jak lze โsmyฤky forโ pouลพรญt takรฉ pro jinรฉ vฤci neลพ ฤรญsla.
Pลรญklad:
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print(m)
Oฤekรกvanรฝ vรฝstup:
Jan Feb Mar April May June
Code ลรกdek 3: Mฤsรญce (โJan, Feb, Mar, April, May, Juneโ) uklรกdรกme do promฤnnรฉ Months.
Code ลรกdek 4: Iterujeme smyฤku for nad kaลพdou hodnotou v promฤnnรฉ Months. Aktuรกlnรญ hodnota Months je uloลพena v promฤnnรฉ m.
Code ลรกdek 5: Vytisknฤte mฤsรญc
Jak pouลพรญvat pลรญkazy pลeruลกenรญ v For Loop
Breakpoint je jedineฤnรก funkce v For Loop, kterรก vรกm umoลพลuje pลeruลกit nebo ukonฤit provรกdฤnรญ cyklu for
Pลรญklad:
#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)
Oฤekรกvanรฝ vรฝstup:
10 11 12 13 14
V tomto pลรญkladu jsme deklarovali ฤรญsla od 10 do 20, ale chceme, aby naลกe smyฤka for skonฤila na ฤรญsle 15 a zastavila dalลกรญ provรกdฤnรญ. Za tรญmto รบฤelem deklarujeme funkci break definovรกnรญm (x==15): break, takลพe jakmile kรณd zavolรก ฤรญslo 15, ukonฤรญ program. Code ลรกdek 10 deklaruje promฤnnou x v rozsahu (10, 20)
- Code ลรกdek 11 deklaruje podmรญnku pro zarรกลพku v bodฤ x==15,
- Code ลรกdek 12 kontroluje a opakuje kroky, dokud nedosรกhne ฤรญsla 15.
- Code ลรกdek 13 Vypiลกte vรฝsledek na vรฝstup
Jak pouลพรญvat pลรญkaz โpokraฤovatโ ve For Loop
Funkce Continue, jak nรกzev napovรญdรก, ukonฤรญ aktuรกlnรญ iteraci cyklu for, ALE bude pokraฤovat v provรกdฤnรญ zbรฝvajรญcรญch iteracรญ.
Pลรญklad
#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)
Oฤekรกvanรฝ vรฝstup:
11 12 13 14 16 17 18 19
Pลรญkaz Continue lze pouลพรญt ve smyฤce for, kdyลพ chcete naฤรญst konkrรฉtnรญ hodnotu ze seznamu.
V naลกem pลรญkladu jsme deklarovali hodnotu 10-20, ale mezi tฤmito ฤรญsly chceme pouze ta ฤรญsla, kterรก NEJSOU dฤlitelnรก 5 nebo jinรฝmi slovy, kterรก nedรกvajรญ nulu pลi dฤlenรญ 5.
Takลพe v naลกem rozsahu (10,11, 12โฆ.19,20) padnou pouze 3 ฤรญsla (10,15,20), kterรก jsou dฤlitelnรก 5 a zbytek ne.
Takลพe kromฤ ฤรญsel 10,15, 20 a XNUMX nebude โsmyฤka forโ pokraฤovat a vytiskne tato ฤรญsla jako vรฝstup.
- Code ลรกdek 10 deklaruje promฤnnou x pro rozsah (10, 20)
- Code ลรกdek 12 deklarujte podmรญnku pro x dฤleno 5=0 pokraฤujte
- Code ลรกdek 13 vytiskne vรฝsledek
Co je enumerate() in Python?
enumerate() V PYTHONU je vestavฤnรก funkce pouลพรญvanรก k pลiลazenรญ indexu kaลพdรฉ poloลพce iterovatelnรฉho objektu. Pลidรกvรก smyฤku k iterovatelnรฝm objektลฏm, zatรญmco udrลพujeping track aktuรกlnรญ poloลพky a vracรญ objekt ve vyฤรญslitelnรฉ formฤ. Tento objekt lze pouลพรญt ve smyฤce for k jeho pลevodu na seznam pomocรญ metody list().
Pลรญklad:
Funkce Enumerate se pouลพรญvรก pro ฤรญslovรกnรญ nebo indexovรกnรญ ฤlenลฏ v seznamu.
Pลedpoklรกdejme, ลพe chceme provรฉst ฤรญslovรกnรญ pro nรกลก mฤsรญc (leden, รบnor, bลezen, โฆ.ฤerven), takลพe deklarujeme promฤnnou i, kterรก vyjmenovรกvรก ฤรญsla, zatรญmco m vypรญลกe ฤรญslo mฤsรญce v seznamu.
#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
Oฤekรกvanรฝ vรฝstup:
0 Jan 1 Feb 2 Mar 3 April 4 May 5 June
Kdyลพ je kรณd spuลกtฤn, vรฝstup funkce enumerate vrรกtรญ nรกzev mฤsรญce s ฤรญslem indexu, jako je (0-Jan), (1-Feb), (2- March) atd.
- Code ลรกdek 3 deklaruje seznam mฤsรญcลฏ [ leden, รบnor,โฆฤerven]
- Code ลรกdek 4 deklaruje promฤnnรฉ i a m pro smyฤku For
- Code ลรกdek 5 vypรญลกe vรฝsledek a znovu vstoupรญ do smyฤky For pro zbytek mฤsรญcลฏ pro vรฝฤet
Praktickรฝ pลรญklad
Podรญvejme se na dalลกรญ pลรญklad For Loop pro opakovรกnรญ stejnรฉho pลรญkazu znovu a znovu.
| Python smyฤka | Pracovnรญ Code pro vลกechna cviฤenรญ |
|---|---|
| Code pro smyฤku while |
x=0
while (x<4):
print (x)
x= x+1
|
| Pro jednoduchรฝ pลรญklad smyฤky |
x=0
for x in range (2,7):
print (x)
|
| Pouลพitรญ smyฤky for v ลetฤzci |
Months = ["Jan","Feb","Mar","April","May","June"]
for m in (Months):
print (m)
|
| Pouลพijte pลรญkaz break ve smyฤce for |
for x in range (10,20):
if (x == 15): break
print (x)
|
| Pouลพitรญ pลรญkazu Continue ve smyฤce for |
for x in range (10,20):
if (x % 5 == 0): continue
print (x)
|
| Code pro โvรฝฤtovou funkciโ s โcyklem forโ |
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
print (i,m)
|
Jak pouลพรญvat cyklus for k opakovรกnรญ stejnรฉho pลรญkazu znovu a znovu
Smyฤku for mลฏลพete pouลพรญt pro opakovรกnรญ stejnรฉho pลรญkazu znovu a znovu. Zde v pลรญkladu jsme tลikrรกt vytiskli slovo โguru99โ.
Pลรญklad: Abychom opakovali stejnรฝ pลรญkaz tolikrรกt, kolikrรกt jsme deklarovali ฤรญslo v promฤnnรฉ i (i ve 123). Takลพe kdyลพ spustรญte kรณd, jak je ukรกzรกno nรญลพe, vytiskne pลรญkaz (guru99), kolikrรกt je ฤรญslo deklarovanรฉ pro naลกi promฤnnou v (i ve 123).
for i in '123':
print ("guru99",i,)
Oฤekรกvanรฝ vรฝstup:
guru99 1 guru99 2 guru99 3
Stejnฤ jako ostatnรญ programovacรญ jazyky, Python takรฉ pouลพรญvรก smyฤku, ale mรญsto pouลพitรญ ลady rลฏznรฝch smyฤek je omezena pouze na dvฤ smyฤky โWhile loopโ a โfor loopโ.
- Smyฤky while se provรกdฤjรญ na zรกkladฤ toho, zda je podmรญnฤnรฝ pลรญkaz pravdivรฝ nebo nepravdivรฝ.
- Cykly for se nazรฝvajรญ iterรกtory, iteruje prvek na zรกkladฤ nastavenรฉ podmรญnky
- Python Smyฤky For lze takรฉ pouลพรญt pro sadu rลฏznรฝch dalลกรญch vฤcรญ (urฤenรญ kolekce prvkลฏ, pลes kterรฉ chceme smyฤku)
- Bod pลeruลกenรญ se v For Loop pouลพรญvรก k pลeruลกenรญ nebo ukonฤenรญ programu v jakรฉmkoli konkrรฉtnรญm bodฤ
- Pลรญkaz Continue bude pokraฤovat v tisku pลรญkazu a vytiskne vรฝsledek podle nastavenรฉ podmรญnky
- Funkce Enumerate ve โsmyฤce forโ vracรญ ฤlena kolekce, na kterou se dรญvรกme, s ฤรญslem indexu
Python 2 Pลรญklad
Vรฝลกe uvedenรฉ kรณdy jsou Python 3 pลรญklady, pokud se chcete zapojit Python 2 prosรญm zvaลพte nรกsledujรญcรญ kรณd.
# 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
Vรฝstup:
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
