Python For és While ciklusok (példákkal)

⚡ Okos összefoglaló

Python A ciklusok addig ismételnek egy kódblokkot, amíg egy bizonyos feltétel nem teljesül. A for és while ciklusok a break, continue és enumerate utasításokkal együtt szabályozzák az iterációk futtatásának számát, ahogy az alábbi példák is mutatják.

  • 🔁 Hurkok: Egy ciklus addig futtat egy kódblokkot ismételten, amíg a feltétele le nem állítja.
  • 🔢 Loop számára: A for ciklus egy sorozaton, például tartományon, listán vagy karakterláncon iterál.
  • ♻️ Hurok közben: A while ciklus addig ismétlődik, amíg a feltétele igaz marad.
  • ⛔ Szünet: A break utasítás azonnal kilép a ciklusból egy kiválasztott ponton.
  • ⏭️ Folytatni: A continue utasítás kihagyja az aktuális iterációt, és a következőre ugrik.
  • 🔖 Felsorolás: Az enumerate() függvény minden elemet egy indexszel párosít, miközben a looping.

Python For és While ciklusok

Mi az a Loop?

A hurkok többször is végrehajthatnak egy kódblokkot, amíg egy bizonyos feltétel nem teljesül. Használatuk meglehetősen gyakori a programozásban. Ellentétben más programozási nyelvekkel, amelyek rendelkeznek For Loop, while ciklus, dowhile stb.

Mi az a For Loop?

A For ciklus egy sorozat elemei feletti iterációra szolgál. Gyakran használják, ha van egy kódrészlete, amelyet „n” számú alkalommal szeretne megismételni.

Mi az a While Loop?

Míg a Loop egy kódblokk megismétlésére szolgál. A kódblokk egyszeri futtatása helyett többször végrehajtja a kódblokkot, amíg egy bizonyos feltétel teljesül.

A „While Loop” használata

Míg a ciklus pontosan ugyanazt csinálja, mint az „if utasítás”, de a kódblokk egyszeri futtatása helyett visszaugranak arra a pontra, ahol elkezdte a kódot, és újra megismétli az egész folyamatot.

Szintaxis

while expression
 Statement

Példa:

#
#Example file for working with loops
#
x=0
#define a while loop
while(x <4):
		print(x)
		x = x+1

Várható teljesítmény:

0
1
2
3
  • Code 4. sor: Az x változó értéke 0
  • Code 7. sor: A while ciklus x<4 feltételt keres. Az x aktuális értéke 0. A feltétel igaz. A vezérlés folyamata while ciklusba lép.
  • Code 8. sor: Az x értékének kinyomtatása
  • Code 9. sor: x értéke 1-gyel nő. A vezérlés visszamegy a 7. sorhoz. Most x értéke 1, ami kisebb, mint 4. A feltétel igaz, és ismét végrehajtódik a while ciklus. Ez addig folytatódik, amíg x értéke 4 nem lesz, és a while feltétel hamissá nem válik.

A „For Loop” használata

In Python, „for loop”-nak hívják iterátorok.

Csakúgy, mint a while ciklus, a „For Loop” is a program ismétlésére szolgál.

De ellentétben a while ciklussal, amely igaz vagy hamis feltételtől függ. A „For Loop” az iterálandó elemektől függ.

Példa:

#
#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)

Várható teljesítmény:

2
3
4
5
6

A For Loop a tartományban deklarált számmal iterál.

Például,

A hurok számára x esetén a tartományban (2,7)

Amikor ez a kód végrehajtódik, a 2 és 7 közötti számot írja ki (2,3,4,5,6). Ebben a kódban a 7-es szám nem szerepel a tartományon belül.

A For Loops számos egyéb dologhoz is használható, nem csak a számokhoz. A következő részben vékonyat fogunk látni.

A For Loop for String használata

Ebben a lépésben látni fogjuk, hogy a „for loops” a számokon kívül más dolgokra is használható.

Példa:

#use a for loop over a collection
Months = ["Jan","Feb","Mar","April","May","June"]
for m in Months:
		print(m)

Várható teljesítmény:

Jan
Feb
Mar
April
May
June

Code 3. sor: A hónapokat („Jan, Feb, Mar, April, May, June”) a Months változóban tároljuk.

Code 4. sor: A for ciklust végigkövetjük minden egyes Months értékén. A Months aktuális értéke az m változóban tárolódik.

Code 5. sor: Nyomtassa ki a hónapot

A szünet utasítások használata a For Loopban

A Breakpoint a For Loop egyedülálló funkciója, amely lehetővé teszi a for ciklus megszakítását vagy leállítását.

Példa:

#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)

Várható teljesítmény:

10
11
12
13
14

Ebben a példában 10-től 20-ig deklaráltuk a számokat, de azt szeretnénk, hogy a for ciklusunk a 15-ös számnál érjen véget, és a további végrehajtás ne folytatódjon. Ehhez a break függvényt a (x==15) definiálásával deklaráljuk: break, így amint a kód meghívja a 15-ös számot, a program leáll. Code A 10. sor deklarálja az x változót a (10, 20) tartományban

  • Code A 11. sorban deklaráljuk az x==15-nél lévő töréspont feltételét.
  • Code A 12. sor ellenőrzi és megismétli a lépéseket, amíg el nem éri a 15-ös számot.
  • Code 13. sor Az eredmény kiírása kimenetként

Hogyan kell használni a „continue” utasítást a For Loopban

A Continue funkció, ahogy a neve is mutatja, leállítja a for ciklus aktuális iterációját, DE folytatja a többi iteráció végrehajtását.

Példa

#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)

Várható teljesítmény:

11
12
13
14
16
17
18
19

A Continue utasítás a for ciklusban használható, ha egy adott értéket szeretne lekérni a listából.

Példánkban 10-20 értéket deklaráltunk, de ezek közé a számok közé csak azokat a számokat akarjuk, amelyek NEM oszthatók 5-tel, vagy más szóval, amelyek 5-tel osztva nem adnak nullát.

Tehát a mi tartományunkban (10,11, 12….19,20) csak 3 olyan szám esik (10,15,20), amelyek oszthatók 5-tel, a többi pedig nem.

Tehát a 10,15, 20 és XNUMX szám kivételével a „for ciklus” nem folytatódik, és kiírja ezeket a számokat kimenetként.

  • Code 10. sor: deklarálja az x változót a (10, 20) tartományhoz
  • Code 12. sor deklarálja az x osztva 5-tel=0 feltételt folytatás
  • Code 13. sor írja ki az eredményt

Mi az enumerate() in Python?

enumerate() PYTHONBAN egy beépített függvény, amely indexet rendel az iterálható objektum minden eleméhez. Ciklust ad hozzá az iterálható objektumokhoz, miközben keeping tracAz aktuális elem k értékét adja vissza, és felsorolható formában adja vissza az objektumot. Ez az objektum egy for ciklusban használható listává alakításhoz a list() metódus segítségével.

Példa:

Funkció felsorolása a listában szereplő tagok számozására vagy indexelésére szolgál.

Tegyük fel, hogy számozást szeretnénk végezni a hónapunkra (január, febr., márc, ….június), így deklaráljuk az i változót, amely felsorolja a számokat, míg m a hónap számát írja ki a listában.

#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árható teljesítmény:

0 Jan
1 Feb
2 Mar
3 April
4 May
5 June

A kód végrehajtásakor az enumerate függvény kimenete a hónap nevét adja vissza indexszámmal, mint például (0-január), (1-február), (2-március) stb.

  • Code A 3. sor a hónapok listáját deklarálja [ jan, febr,…jún]
  • Code A 4. sor deklarálja az i és m változókat a For ciklushoz
  • Code Az 5. sor kinyomtatja az eredményt, és ismét belép a For ciklusba a fennmaradó hónapok felsorolásához.

Gyakorlati példa

Nézzünk egy másik példát arra, hogy a For Loop ugyanazt az állítást ismételje meg újra és újra.

Python hurok Dolgozó Code minden gyakorlathoz
Code for while ciklus
x=0    
while (x<4):
    print (x)
    x= x+1
For Loop Egyszerű példa
x=0 
for x in range (2,7):
    print (x)
A for ciklus használata a karakterláncban
Months = ["Jan","Feb","Mar","April","May","June"]
for m in (Months):
    print (m)
Használjon break-utasítást a ciklusban
for x in range (10,20):
       if (x == 15): break
       print (x)
A Continue utasítás használata for ciklusban
for x in range (10,20):
       if (x % 5 == 0): continue
       print (x)
Code „enumerate függvény” esetén „for ciklussal”
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
    print (i,m)

Hogyan használjuk a for ciklust ugyanazon utasítások újra és újra megismétlésére

A for loop használatával akár ugyanazt az utasítást is megismételheti újra és újra. Itt a példában háromszor nyomtattuk ki a „guru99” szót.

Példa: Ugyanazon állítás többszöri megismétléséhez deklaráltuk a számot az i változóban (i 123-ban). Tehát amikor lefuttatja a kódot az alábbiak szerint, akkor kiírja azt az utasítást (guru99), amely sokszorosa a mi változónknak deklarált számnak ( i 123-ban).

for i in '123':
 print ("guru99",i,)

Várható teljesítmény:

guru99 1
guru99 2
guru99 3

Más programozási nyelvekhez hasonlóan Python szintén hurkot használ, de a különböző hurkok tartománya helyett csak két ciklusra korlátozódik, „While loop” és „for loop”.

  • Míg a ciklusok végrehajtása attól függ, hogy a feltételes utasítás igaz vagy hamis.
  • A hurkokat iterátoroknak nevezzük, a feltételkészlet alapján iterálja az elemet
  • Python A For loop számos egyéb dolog halmazához is használható (meghatározva az elemek gyűjteményét, amelyeken át szeretnénk hurkolni)
  • A töréspont a For Loop alkalmazásban a program megszakítására vagy befejezésére szolgál egy adott ponton
  • A Continue utasítás továbbra is kinyomtatja az utasítást, és kinyomtatja az eredményt a feltételkészletnek megfelelően
  • Az Enumerate függvény a „for ciklusban” visszaadja a gyűjtemény azon tagját, amelyet indexszámmal nézünk

Python 2 Példa

A fenti kódok Python 3 példa, Ha be akarsz futni Python 2 Kérjük, vegye figyelembe a következő kódot.

# 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

GYIK

Egy for ciklus egy ismert sorozaton, például egy listán vagy tartományon iterál, míg egy while ciklus addig fut, amíg a feltétele hamissá nem válik. Használd, ha ismered az elemeket, és a while ciklust nyílt végű ismétléshez.

A break utasítás azonnal kilép a teljes ciklusból, míg a continue csak az aktuális iterációt hagyja ki, és a következőre ugrik. A Break teljesen leállítja a ciklust, míg a continue fenntartja annak futását.

A pass utasítás egy üres helyőrző, amely semmit sem csinál. Akkor használatos, amikor Python A szintaxishoz utasítás szükséges, de semmilyen művelet nem szükséges, például egy üres ciklustörzs vagy egy később befejezni kívánt csonk.

Igen. Egy else blokk csak akkor fut le, ha a ciklus normál módon fejeződik be törés nélkül. Ez hasznos a keresési logikához, például egy „nem található” üzenet kinyomtatásához egy sorozat összes elemének átvizsgálása után.

Használd a while True: utasítást az örök ismétlődéshez, majd egy break utasítással kilépéshez, ha egy feltétel teljesül. Python nincs beépített do-while ciklusa, így a while True és a break a leggyakoribb módja az emulációnak.

Egy break utasítás csak a legbelső ciklusból lép ki, amely tartalmazza, így a külső ciklusok folyamatosan futnak. Ha minden ciklusból egyszerre akarunk kilépni, használjunk egy flag változót, vagy helyezzük át a ciklusokat egy függvénybe, majd adjuk vissza az értéket.

Igen. A mesterséges intelligencia asszisztensek for és while ciklusokat generálnak egy egyszerű leírásból, elmagyarázzák a hibákat, felismerik a végtelen ciklusokat és az egyenként eltérő hibákat, és tisztább lehetőségeket javasolnak, mint például a listaelemzés vagy az enumerate() indexelés.

Igen. A GitHub Copilot automatikusan kiegészíti a ciklusokat for és while ciklusokban, megszakítja, folytatja és felsorolja a műveleteket egy megjegyzésből vagy egy közeli kódból. Az Agentic mesterséges intelligencia eszközei ennél tovább mennek, automatikusan refaktorálják a ciklusokat vagy kijavítják a hibákat egy teljes fájlban.

Foglald össze ezt a bejegyzést a következőképpen: