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.

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
