Olemme käsitelleet perusdatan tyypit, edistyneet datatyypit ja ehtolauseet Pythonissa aiemmissa blogikirjoituksissamme. Tässä blogissa käsitellään silmukoita. Jos olet uusi Pythonissa, aloita ensimmäisestä blogista saadaksesi paremman käsityksen tästä aiheesta.
Silmukat Pythonissa – sisällysluettelo:
- Silmukat Pythonissa
- For-silmukka Pythonissa
- For-silmukat listassa
- Kokoelman iteroiminen for-silmukalla
- Tuplen iteroiminen for-silmukalla
- Sisäkkäiset silmukat Pythonissa
- While-silmukat Pythonissa
Silmukat Pythonissa
Silmukoita käytetään, kun on tarpeen suorittaa tehtävä useammin kuin kerran. Esimerkiksi numeroiden tulostaminen yhdestä sataan tai parempi esimerkki olisi summata kaikki elementit listassa tai taulukossa. Joskus on tarpeen kirjoittaa enemmän kuin yksi silmukka tai silmukka silmukan sisälle. Pythonissa näiden silmukoiden kirjoittaminen on erittäin yksinkertaista, ja jopa syntaksi on helppo ymmärtää. Kuten olemme nähneet, Pythonissa meidän ei tarvitse ensin ilmoittaa muuttujaa ennen sen käyttöä. Perussilmukka alkaa for-silmukalla. Ymmärretään “for” silmukka.
For-silmukka Pythonissa
For-silmukassa on kolme asiaa, jotka on mainittava. Ensimmäinen on muuttujan alkuarvo, jonka perusteella iteraatio tehdään, pysäytysehto ja viimeinen on, kuinka monella askeleella haluat kasvattaa tai pienentää iteraattoria.
Katso “for” silmukan syntaksia:
# For-silmukka for var in range(10): print(var) for var in range(0,10,1): print(var)
Yllä olevassa koodiesimerkissä näemme, että for-silmukat antavat saman tuloksen. Syntaksissa lopussa, jossa annoimme range-funktion, on kolme argumenttia, joista keskustelimme edellisessä kappaleessa. Yllä olevassa esimerkissä range on 0,10,1, jossa 0 on iteraattorin alkuarvo, 10 on lopullinen arvo, mutta range itse asiassa iteroi 10-1, joka on 9, ja 1 on iteraattorin kasvatus joka kerta, kun silmukka suoritetaan.
Suoritetaan yllä oleva ohjelma
Tuloste: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Kuten näemme tulosteesimerkistä, se tulostaa numerot 0-9.
For-silmukat listassa
Listassa meillä on kokoelma kohteita, ja alla on esimerkki siitä, kuinka käyttää for-silmukoita iteroidakseen listan läpi.
X=[1,2,3,4,5,6] for i in X: print(i)
Tuloste: Tämä tulostaa kaikki elementit listassa. 1,2,3,4,5,6
Jos haluat sisällyttää myös indeksin tulostettaessa, koodi on esitetty alla.
X=[1,2,3,4,5,6] for i in range(len(X)): print(i,X[i]) [/code>Tämä tulostaa sekä indeksin että arvon listassa.
On helppo tapa saada indeksi ja arvo käyttämällä enumerate-funktiota. Enumerate-funktion käyttö on esitetty alla.
X=[1,2,3,4,5,6] for i,value in enumerate(X): print(i,value) [/code> Tuloste: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>Kokoelman iteroiminen for-silmukalla
Kokoelman iteroiminen on kuin listan iteroiminen for-silmukalla. Esimerkki on esitetty alla.
X={1,2,3,4,5,6} for i,value in enumerate(X): print(i,value) [/code> Tuloste: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>Tuplen iteroiminen for-silmukalla
Tuplen iteroiminen on kuin listan iteroiminen for-silmukalla. Esimerkki on esitetty alla.
X=(1,2,3,4,5,6) for i,value in enumerate(X): print(i,value) [/code> Tuloste: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>Sanakirjan iteroiminen for-silmukalla
Sanakirjan iteroiminen on erilaista kuin muilla datatyypeillä, koska sanakirja sisältää avain-arvo-pareja. Joten saadaksemme vain avaimet käytämme dictionaryname.keys() ja arvoille käytämme dictionaryname.values(). Esimerkki on esitetty alla.
X={“1”:1,”2”:2} for key in X.keys(): print(key) for value in X.values(): print(value) for key,value in X.items(): print(key,value) [/code> Tuloste: 1 2 1 2 1,1 2,2 [/code>Sisäkkäiset silmukat Pythonissa
Sisäkkäiset silmukat ovat hyödyllisiä, kun rakennetaan raakavoimaratkaisua tiettyyn ongelmaan. Ne lisäävät ohjelman aikavaativuutta ja vähentävät luettavuutta.
a = [1, 2] b = [10, 13] # saadaan numerot, joiden tulo on 13 for i in a: for j in b: if i*j == 13: print(i, j) [/code>Yllä olevassa koodilohkossa määrittelimme 2 listaa, ja jokaisessa listassa on kokoelma numeroita. Päämääränä oli löytää, mitkä numeroiden tulot ovat 13 molemmista listoista ja tulostaa nämä numerot. Tätä varten meidän on iteroitava kahden listan läpi, joten käytimme kahta for-silmukkaa.
Vaihtoehtoinen tapa:
Itertools-kirjastossa on funktio nimeltä product. Tämä auttaa pitämään sisäkkäiset for-silmukat, jos niitä on ohjelmassa, luettavina. Esimerkki on esitetty alla.
from itertools import product
a = [1, 2]
b = [10, 13]
# saadaan numerot, joiden tulo on 13
for i, j in product(a, b):
if(i*j == 13): print(i, j) [/code>While-silmukat Pythonissa
Toistaiseksi olemme vain tulostaneet tuloksen, mutta emme ole koskaan antaneet syötettä ohjelmallemme. Pythonissa input() käytetään syötteen antamiseen ohjelmalle. Esimerkki on esitetty alla. While-silmukkaa käytetään, kun haluat suorittaa ohjelman, jos ehto täyttyy. While-silmukan esimerkit on esitetty alla.
Tulostetaan 0-9 while-silmukalla:
i = 0
while(i < 10): print(i) i += 1 [/code>Kuten näet, syntaksi on while, jota seuraa ehto, ja silmukan sisällä kasvatamme iteraattoria halutun numeron mukaan.
Tuloste: 0 1 2 3 4 5 6 7 8 9 [/code>
Tässä blogissa olemme käsitelleet joitakin perusasioita silmukkalauselmista pythonissa, ja seuraavat aiheet funktioista käsitellään seuraavassa blogissa. Ratkaistava kysymys on esitetty alla.

Voit myös tykätä JavaScript-kurssistamme aloittelijasta edistyneeseen.
Robert Whitney
JavaScript-asiantuntija ja opettaja, joka valmentaa IT-osastoja. Hänen päämääränsä on nostaa tiimin tuottavuutta opettamalla muille, kuinka tehdä tehokasta yhteistyötä koodauksen aikana.
Python Course From Beginner to Advanced in 11 blog posts:
- Pythonin tuplet, listat, joukot ja sanakirjat. Osa 3 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Pythonin funktiot. Osa 7 Python-kurssi aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Johdatus Python-kurssiin. Osa 1 Python-kurssi aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Muuttujat ja tietotyypit Pythonissa. Osa 2 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Pythonin joukot ja sanakirjat. Osa 4 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Python-luokat ja -oliot. Osa 9 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Tiedostot Pythonissa. Osa 10 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Silmukat Pythonissa. Osa 6 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Edistyneet toiminnot Pythonissa. Osa 8 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa