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:

  1. Silmukat Pythonissa
  2. For-silmukka Pythonissa
  3. For-silmukat listassa
  4. Kokoelman iteroiminen for-silmukalla
  5. Tuplen iteroiminen for-silmukalla
  6. Sisäkkäiset silmukat Pythonissa
  7. 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.

loops_in_Python

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.

View all posts →