Python For- ja While-silmukat (esimerkkeineen)

⚡ Älykäs yhteenveto

Python Silmukat toistavat koodilohkoa, kunnes tietty ehto täyttyy. For- ja while-silmukat yhdessä break-, continue- ja enumerate-lauseiden kanssa ohjaavat iteraatioiden suorituskertoja, kuten alla olevat esimerkit osoittavat.

  • 🔁 silmukoita: Silmukka suorittaa koodilohkon toistuvasti, kunnes sen ehto pysäyttää sen.
  • 🔢 Silmukalle: For-silmukka iteroi tietyn sekvenssin, kuten välin, listan tai merkkijonon, läpi.
  • ♻️ Silmukan aikana: While-silmukka toistuu niin kauan kuin sen ehto pysyy tosi.
  • Tauko: Break-lauseke poistuu silmukasta välittömästi valitussa pisteessä.
  • ⏭️ Jatkaa: Continue-lauseke ohittaa nykyisen iteraation ja siirtyy seuraavaan.
  • 🔖 Luetella: enumerate()-funktio yhdistää jokaisen alkion indeksiin, kun taas looping.

Python For- ja While-silmukat

Mikä on Loop?

Silmukat voivat suorittaa koodilohkon useita kertoja, kunnes tietty ehto täyttyy. Niiden käyttö on melko yleistä ohjelmoinnissa. Toisin kuin muut ohjelmointikielet, joissa on For Loop, while loop, dowhile jne.

Mikä For Loop on?

For-silmukkaa käytetään iteroitaessa sekvenssin elementtejä. Sitä käytetään usein, kun sinulla on koodinpätkä, jonka haluat toistaa "n" määrän.

Mikä on While Loop?

Vaikka silmukkaa käytetään koodilohkon toistamiseen. Sen sijaan, että koodilohko suoritetaan kerran, se suorittaa koodilohkon useita kertoja, kunnes tietty ehto täyttyy.

Kuinka käyttää "While Loop" -toimintoa

Vaikka silmukka tekee täsmälleen saman asian kuin "if-lause", mutta sen sijaan, että suorittaisit koodilohkon kerran, ne hyppäävät takaisin kohtaan, jossa se aloitti koodin, ja toistaa koko prosessin uudelleen.

Syntaksi

while expression
 Statement

esimerkki:

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

Odotettu tuotos:

0
1
2
3
  • Code Rivi 4: Muuttuja x asetetaan arvoon 0
  • Code Rivi 7: While-silmukka tarkistaa ehdon x<4. x:n nykyinen arvo on 0. Ehto on tosi. Ohjauskulku siirtyy while-silmukkaan.
  • Code Rivi 8: Muodon x arvo tulostetaan
  • Code Rivi 9: x:n arvoa kasvatetaan yhdellä. Ohjaus palaa riville 7. Nyt x:n arvo on 1, joka on pienempi kuin 4. Ehto on tosi, ja while-silmukka suoritetaan jälleen. Tämä jatkuu, kunnes x:n arvoksi tulee 4 ja while-ehto muuttuu epätosi.

Kuinka käyttää For Loopia

In Python, "silmukoille" kutsutaan iteraattorit.

Aivan kuten while-silmukka, myös "For Loop" -ohjelmaa käytetään ohjelman toistamiseen.

Mutta toisin kuin while-silmukka, joka riippuu ehdosta tosi tai epätosi. "For Loop" riippuu elementeistä, joita sen on iteroitava.

esimerkki:

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

Odotettu tuotos:

2
3
4
5
6

For Loop iteroituu numerolla, joka on ilmoitettu alueella.

Esimerkiksi

Loopille x alueella (2,7)

Kun tämä koodi suoritetaan, se tulostaa numeron väliltä 2 ja 7 (2,3,4,5,6). Tässä koodissa numeroa 7 ei pidetä alueen sisällä.

For Loopsia voidaan käyttää myös muihin asioihin, ei vain numeroihin. Näemme ohuen seuraavassa jaksossa.

For Loop for Stringin käyttäminen

Tässä vaiheessa näemme kuinka "silmukoille" voidaan käyttää myös muihin asioihin kuin numeroihin.

esimerkki:

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

Odotettu tuotos:

Jan
Feb
Mar
April
May
June

Code Rivi 3: Talletamme kuukaudet (“tammikuu, helmikuu, maaliskuu, huhtikuu, toukokuu, kesäkuu”) muuttujaan Months

Code Rivi 4: Käymme for-silmukan läpi jokaisen Months-muuttujassa olevan arvon. Months-muuttujassa oleva nykyinen arvo tallennetaan muuttujaan m.

Code Rivi 5: Tulosta kuukausi

Break-lauseiden käyttäminen For Loopissa

Breakpoint on ainutlaatuinen toiminto For Loopissa, jonka avulla voit katkaista tai lopettaa for-silmukan suorituksen

esimerkki:

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

Odotettu tuotos:

10
11
12
13
14

Tässä esimerkissä esitimme luvut 10-20, mutta haluamme for-silmukan päättyvän lukuun 15 ja lopettavan suorituksen. Tätä varten esitimme break-funktion määrittelemällä (x==15): break, joten heti kun koodi kutsuu lukua 15, se lopettaa ohjelman suorittamisen. Code Rivi 10 määrittää muuttujan x väliltä (10, 20)

  • Code Rivillä 11 määritellään ehto keskeytyspisteelle kohdassa x==15,
  • Code Rivi 12 tarkistaa ja toistaa vaiheet, kunnes se saavuttaa numeron 15
  • Code Rivi 13 Tulosta tulos tulosteeseen

"Continue-lauseen" käyttäminen For Loopissa

Jatka-toiminto, kuten nimi osoittaa, lopettaa for-silmukan nykyisen iteraation, MUTTA jatkaa jäljellä olevien iteraatioiden suorittamista.

esimerkki

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

Odotettu tuotos:

11
12
13
14
16
17
18
19

Continue-käskyä voidaan käyttää for-silmukassa, kun haluat hakea tietyn arvon luettelosta.

Esimerkissämme olemme ilmoittaneet arvon 10-20, mutta näiden lukujen väliin haluamme vain ne luvut, jotka EIVÄT ole jaollisia viidellä tai toisin sanoen jotka eivät anna nollaa 5:llä jaettuna.

Joten alueellamme (10,11, 12….19,20) kuuluu vain 3 numeroa (10,15,20), jotka ovat jaollisia viidellä ja loput eivät.

Joten lukuun ottamatta numeroita 10,15, 20 ja XNUMX, "for-silmukka" ei jatka ja tulostaa nämä numerot ulostulona.

  • Code rivillä 10 määritetään muuttuja x välille (10, 20)
  • Code rivi 12 määrittelee ehdon, jossa x jaettuna luvulla 5 = 0, jatka
  • Code rivi 13 tulosta tulos

Mikä on enumerate() in Python?

enumerate() PYTHONISSA on sisäänrakennettu funktio, jota käytetään indeksin määrittämiseen iteroitavan objektin jokaiselle alkiolle. Se lisää silmukan iteroitaville objekteille samalla kun se pitääping track nykyisestä alkiosta ja palauttaa objektin numeroituvassa muodossa. Tätä objektia voidaan käyttää for-silmukassa sen muuntamiseen listaksi käyttämällä list()-metodia.

esimerkki:

Luettelotoiminto käytetään luettelon jäsenten numerointiin tai indeksointiin.

Oletetaan, että haluamme numeroida kuukautemme ( tammi, helmikuu, mars, …. kesäkuu), joten ilmoitamme muuttujan i, joka luettelee luvut, kun taas m tulostaa kuukauden numeron luettelossa.

#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

Odotettu tuotos:

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

Kun koodi suoritetaan, enumerate-funktion tulos palauttaa kuukauden nimen indeksinumerolla, kuten (0-tammikuu), (1-helmikuu), (2- maaliskuu) jne.

  • Code Rivi 3 ilmoittaa kuukausien luettelon [ tammi, helmikuu,…kesäkuu]
  • Code Rivi 4 määrittelee muuttujat i ja m For-silmukkaa varten
  • Code Rivi 5 tulostaa tuloksen ja suorittaa jälleen For-silmukan jäljellä olevien kuukausien luettelointia varten.

Käytännön esimerkki

Katsotaanpa toinen esimerkki For Loopilta, joka toistaa saman lausunnon yhä uudelleen ja uudelleen.

Python silmukka Työ Code kaikkiin harjoituksiin
Code for while-silmukka
x=0    
while (x<4):
    print (x)
    x= x+1
For Loop yksinkertainen esimerkki
x=0 
for x in range (2,7):
    print (x)
For-silmukan käyttö merkkijonossa
Months = ["Jan","Feb","Mar","April","May","June"]
for m in (Months):
    print (m)
Käytä break-lausetta in for loop
for x in range (10,20):
       if (x == 15): break
       print (x)
Continue-lauseen käyttö for-silmukassa
for x in range (10,20):
       if (x % 5 == 0): continue
       print (x)
Code "enumerate function" -funktiolle ja "for-silmukalle"
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
    print (i,m)

Kuinka käyttää for loop -toimintoa saman lauseen toistamiseen yhä uudelleen ja uudelleen

Voit käyttää for loop -toimintoa jopa toistaaksesi saman lauseen yhä uudelleen. Tässä esimerkissä olemme tulostaneet sanan "guru99" kolme kertaa.

Esimerkki: Toistaaksemme saman lauseen monta kertaa, olemme ilmoittaneet luvun muuttujassa i (i kohdassa 123). Joten kun suoritat koodin alla esitetyllä tavalla, se tulostaa lausunnon (guru99), joka on monta kertaa muuttujalle ilmoitettu luku (i:ssä 123).

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

Odotettu tuotos:

guru99 1
guru99 2
guru99 3

Kuten muutkin ohjelmointikielet, Python käyttää myös silmukkaa, mutta sen sijaan, että käyttäisi erilaisia ​​silmukoita, se on rajoitettu vain kahteen silmukkaan "While loop" ja "for loop".

  • Vaikka silmukat suoritetaan sen perusteella, onko ehdollinen lause tosi vai epätosi.
  • Silmukoita kutsutaan iteraattoreiksi, se iteroi elementin ehtojoukon perusteella
  • Python For loops -ohjelmaa voidaan käyttää myös useiden muiden asioiden joukkoon (määrittää elementtien kokoelman, jonka yli haluat silmukan)
  • Katkopistettä käytetään For Loopissa ohjelman katkaisemiseen tai lopettamiseen missä tahansa tietyssä kohdassa
  • Continue-lause jatkaa lausunnon tulostamista ja tulostaa tuloksen ehtojoukon mukaisesti
  • Enumerate-funktio "for-silmukassa" palauttaa kokoelman jäsenen, jota tarkastelemme indeksinumerolla

Python 2-esimerkki

Yllä olevat koodit ovat Python 3 esimerkkiä, jos haluat ajaa sisään Python 2 harkitse seuraavaa koodia.

# 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

lähtö:

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

UKK

For-silmukka iteroi tunnetun jonon, kuten listan tai välin, läpi, kun taas while-silmukka jatkaa suoritusta, kunnes sen ehto muuttuu epätosiksi. Käytä silmukkaa, kun tiedät alkiot, ja while-silmukkaa avoimeen toistoon.

break-lauseke poistuu koko silmukasta välittömästi, kun taas continue ohittaa vain nykyisen iteraation ja siirtyy seuraavaan. Break pysäyttää silmukan kokonaan, kun taas continue pitää sen käynnissä.

pass-lauseke on tyhjäarvoinen paikkamerkki, joka ei tee mitään. Sitä käytetään silloin, kun Python Syntaksi tarvitsee lausekkeen, mutta ei mitään toimenpiteitä, kuten tyhjän silmukan rungon tai tynkän, jonka aiot suorittaa loppuun myöhemmin.

Kyllä. Silmukan else-lohko suoritetaan vain, kun silmukka päättyy normaalisti ilman taukoa. Se on kätevä hakulogiikalle, esimerkiksi tulostamalla "ei löytynyt" -viestin jokaisen sekvenssin alkion skannaamisen jälkeen.

Käytä while True: -funktiota toistaaksesi funktion loputtomasti ja lopettaaksesi funktion break-lauseella, kun ehto täyttyy. Python ei sisällä sisäänrakennettua do-while-silmukkaa, joten while True ja break ovat yleinen tapa emuloida sellaista.

Katkaisulauseke poistuu vain sisimmästä silmukasta, joka sen sisältää, joten ulommat silmukat jatkuvat. Jos haluat poistua jokaisesta silmukasta kerralla, käytä lippumuuttujaa tai siirrä silmukat funktioon ja palauta arvo.

Kyllä. Tekoälyavustajat luovat for- ja while-silmukoita pelkän kuvauksen pohjalta, selittävät virheet, havaitsevat äärettömät silmukat ja yksittäiset virheet ja ehdottavat siistimpiä vaihtoehtoja, kuten listan ymmärtämistä tai enumerate()-funktiota indeksointia varten.

Kyllä. GitHub Copilot täydentää automaattisesti for- ja while-silmukoita, break-, continue- ja enumerate-toimintoja kommentista tai lähellä olevasta koodista. Agenttien tekoälytyökalut menevät pidemmälle ja refaktoroivat silmukoita tai korjaavat virheitä koko tiedostossa automaattisesti.

Tiivistä tämä viesti seuraavasti: