Silmukat ovat olennainen piirre jokaiselle ohjelmointi- tai komentosarjakielelle. Mahdollisuus suorittaa tehtävä useita kertoja on olennaista kaikille kielille.
Pythonissa silmukointi saavutetaan käyttämällä for
ja while
silmukoita ja tässä artikkelissa tarkastellaan niiden käyttöä esimerkkien avulla.
for
silmukkaa pythonissa voidaan käyttää eri tavoin. Yksi yksinkertainen ja yleisin tapa toistaa kokoelma.
for i in collection:
statement
Kokoelma voi olla luettelo, joukko, alue jne. I on muuttuja, joka ottaa iteroitavan elementin arvon.
my_list = [1, 2, 3, 4, 5] for i in my_list:
print('Value is:', i)
Tuotos:
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5
Näet kuinka luettelo toistetaan alusta loppuun.
Pythonin aluemenetelmää käytetään luomaan sekvenssi, joka vaihtelee tietyn rajan välillä. Oletetaan, että sinulla ei ole luetteloa, mutta haluat siirtyä jonkun yli tietyn määrän kertoja. Voit käyttää range()
menetelmä.
for i in range(5):
print(i)
Tuotos:
0 1 2 3 4
merkintä:arvot ovat välillä 0-4, ei 0-5.range()
function palauttaa numerosarjan, joka alkaa oletusarvoisesti 0: sta, ja kasvaa yhdellä (oletusarvoisesti) ja päättyy määritettyyn numeroon.
Jos halusimme olla erilainen lähtöarvo ja erilainen lisäysarvo, käytämme:
for i in range(10, 30, 5): print(x)
Tuotos:
10 15 20 25
Yllä olevassa esimerkissä aloitamme 10: stä, lopetamme 25: stä ja kasvamme 5: llä.
else
avainsana for
silmukka määrittää koodilohkon, joka suoritetaan silmukan päättymisen jälkeen.
for i in range(6): print(i) else: print('Finished looping.')
Tuotos:
0 1 2 3 4 5 Finished looping.
merkintä:Kohdassa if
lause, else-lohko suoritetaan vain, kun ehto on väärä, mutta for
-silmukassa else
lohko suoritetaan aina.Meillä voi olla for
silmukka toisen sisällä for
silmukka. Tätä kutsutaan sisäkkäiseksi silmukaksi.
'Sisäinen silmukka' suoritetaan kerran kutakin 'ulkosilmukan' iteraatiota kohden.
Esimerkki:
numbers = [1, 2, 3] chars = ['a', 'b', 'c'] for i in numbers: for y in chars:
print(x, y)
Tuotos:
1 a 1 b 1 c 2 a 2 b 2 c 3 a 3 b 3 c
while
loop suorittaa joukon lauseita niin kauan kuin ehto on tosi.
Esimerkiksi:
i = 1 while i < 5:
print('Hello world')
i = i + 1
merkintä:meidän on kasvatettava i: n arvoa, muuten silmukka suoritetaan ikuisesti.Toinen lauseke while
silmukka suoritetaan kerran, kun ehto ei ole enää totta.
Esimerkiksi:
i = 1 while i < 5:
print('Hello world')
i = i + 1 else:
print('The execution has ended')
Tuotos:
Hello world Hello world Hello world Hello world The execution has ended
Break-lausetta käytetään, jos haluat rikkoa silmukan suorituksen tietyssä vaiheessa.
Seuraavassa esimerkissä haluamme pysäyttää silmukan, kun kohtaamme 'c' -merkin:
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
print(i)
if i == 'c':
print(''c' encountered. Breaking the loop')
break
Tuotos:
a b c 'c' encountered. Breaking the loop
Jatka-avainsanaa käytetään ohittaa lauseke ja jatkaa tietyn iteraation loppuosaa.
Alla olevassa esimerkissä haluamme jatkaa silmukkaa, kun kohtaamme 'c':
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
if i == 'c':
continue
print(i)
Tuotos:
a b d e
Huomaa, että ”c” ei tulostu. Silmukka jatkaa d- ja e-tulostusta.
for
ja while
silmukoita käytetään iterointiinfor
silmukkaa pythonissa voidaan käyttää myös range()
: n kanssa menetelmä. Voit joko antaa sekä ala- että ylärajan tai vain ylärajan. Jälkimmäisessä tapauksessa 0 oletetaan alarajaksifor
silmukka, kun tiedät kuinka monta kertaa silmukan tulisi suorittaawhile
silmukalla on ehto ja se toimii, kunnes ehto on vääräwhile
silmukalla tulisi aina olla mekanismi, joka rikkoo ehdon, tai silmukka toimii ikuisestielse
lohkoa voidaan käyttää sekä for
ja while
silmukka. Se toteutetaan aina.break
avainsanaa käytetään suorituksen lopettamiseen. Enemmän iterointia ei tehdä, jos break-avainsana löytyy.continue
avainsana ohittaa nykyisen iteraation ja siirtyy suoraan seuraavaan iteraatioon.