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

Shrลˆte tento pล™รญspฤ›vek takto: