silmukalle pythonissa. Syntaksi, luetteloiterointi, tauko, jatka ja muita ominaisuuksia

Цikl python i:lle sykli kun taas - lausunnot ohjelmisto Kieli, nimittäin: iterointioperaattorit, annata toista koodi annettu numero ajan.

Цикл varten — сintaksit

Kuten jo selitettiin, cinclude for Pythonissa on iteraattori, joka perustuuй per sykliidentiteetti. onko hän säädökset tuple elementtien mukaan и lista, sanasto näppäimet ja muut iteroitavia objekteja.

Pythonissa silmukka alkaa avainsanalla for, jota seuraa mielivaltainen muuttujan nimi, joka tallentaa seuraavan objektin arvon annetussa järjestyksessä. Pythonin for…in yleinen syntaksi näyttää tältä:

for in : else:      

komponentit "sekvenssit" on listattu yksi toisensa jälkeen syklin muuttuja. Tai pikemminkin, muuttuja osoittaa niin elementtejä. Kaikille heistä "toiminta" suoritetaan.

Yksinkertainen for-silmukka Pythonissa tietyllä esimerkillä:

>>> kielet = ["C", "C++", "Perl", "Python"] >>> x:lle kielissä: ... print(x) ... C C++ Perl Python >>>

Muu lohko on erityinenth. Jos ohjelmoijaыtyöskentely с Perl tuttuы hänen kanssaan, että niille, jotka ovat vuorovaikutuksessa с C ja C++ — tämä on innovaatio. Semanttisesti se tehtävät тidenttisesti samalla silmukka.

Suoritetaan vain, kun silmukkaa ei ole "pysäytynyt" break-lauseella. Toisin sanoen se suoritetaan vasta, kun kaikki elementit ovat läpäisseet määritetyn sekvenssin.

Break-operaattori pythonissa – tauko

Jos ohjelmassa on for-silmukka välttämätön keskeyttääIshayoiden opettaman katkeaa lausunto, he täydellinense meneeja ohjelma virtaus tulee jatkuuolla ilman aktivointi muualta.

Useammin murtaa lauseita pythonissauyutsya ehdollisilla lauseilla.

edibles = ["kyljyksiä", "pyyhkeet","munat","pähkinät"] syötävässä ruoassa: if food == "nyytit": print("En syö nyytit!") break print("Hienoa, herkullinen " + ruoka) else: print("Hyvä, ettei nyyttejä ollut!") print("Illallinen on ohi.")

Jos suoritat tämän koodin, saat seuraavan tuloksen:

Upeita, herkullisia kyljyksiä. En syö nyytiä! Illallinen on ohi.

Poistamme "nyytit" olemassa olevasta tietoluettelosta ja saamme:

Erinomaisia, herkullisia kyljyksiä Erinomaisia, herkullisia munia Erinomaisia, herkullisia pähkinöitä Hyvä, ettei nyyttejä ollut! Illallinen on ohi.

python skip -operaattori – jatka

Oletetaan, että käyttäjien antipatia tällaisia ​​tuotteita kohtaan ei ole niin suuri, että hän lopettaisi niiden kulutuksen kokonaan. Tämän seurauksena silmukka jatkuu operaattorin kanssa continue. Seuraava komentosarja käyttää lausetta continue, jatkaaksesi "dumpling contact" -luettelon iterointia.

edibles = ["kyljykset", "pyyhkeet","munat","pähkinät"] syötävässä ruoassa: if food == "nyytit": print("En syö nyytiä!") jatka print("Hienoa, herkullinen " + ruoka) # tämä voisi olla koodi ruoan nauttimiseen :-) else: print("Inhoan nyytit!") print("Illallinen on ohi.")

Tärkeintä:

Upeita, herkullisia kyljyksiä. En syö nyytiä! Upeita, herkullisia munia Hienoja, herkullisia pähkinöitä Vihaan nyytiä! Illallinen on ohi.

Listojen iterointi range()-funktiolla

Jos haluat käyttää luettelon indeksejä, ei ole selvää, kuinka for-silmukkaa käytetään tähän tarkoitukseen. Kaikkiin elementteihin pääsee käsiksi, mutta elementin hakemistoa ei voi käyttää. On kuitenkin olemassa menetelmä, jolla pääsee käsiksi sekä elementin indeksiin että itse elementtiin. Tätä tarkoitusta varten käytetään toimintoa range() yhdistettynä pituusfunktioon len():

fibonacci = [0,1,1,2,3,5,8,13,21] i:lle alueella(len(fibonacci)): tulosta(i,fibonacci[i])

Saada:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21 XNUMX XNUMX XNUMX XNUMX

Huomio! Sovellettaessa len() к list or tuple, saadaan vastaava määrä annetun sekvenssin elementtejä.

Listojen iteroinnin vaikeudet

Listaa iteroitaessa on suositeltavaa välttää luettelon dynamiikkaa silmukan rungossa. Selvyyden vuoksi voimme tarjota seuraavan vaihtoehdon:

värit = ["punainen"] i:lle väreissä: if i == "punainen": värit += ["musta"] if i == "musta": värit += ["valkoinen"] print(värit)

Mitä tapahtuu haettaessa print(colours)?

["punainen", "musta", "valkoinen"]

Tämän välttämiseksi on suositeltavaa olla vuorovaikutuksessa kopion kanssa käyttämällä viipaleita, kuten alla olevassa esimerkissä:

värit = ["punainen"] i:lle väreissä[:]: if i == "punainen": värit += ["musta"] if i == "musta": värit += ["valkoinen"] print(värit )

Tulos:

['Punamusta']

Listaa on muutettu colours, mutta tämä toiminto ei vaikuttanut silmukkaan. Iteroitava data pysyi ennallaan silmukan suorittamisen aikana.

Luettelo python 3:ssa

Enumerate on sisäänrakennettu Python-funktio. Useimmat aloittelijat, kuten myös jotkut kokeneet ohjelmoijat, eivät ole tietoisia sen olemassaolosta. Sen avulla voit automaattisesti laskea silmukan iteraatioita. Esimerkiksi:

laskurille, arvo in enumerate(some_list): print(laskuri, arvo)

Toiminto enumerate ottaa myös valinnaisen argumentin (alkuperän arvon, oletusarvoisesti arvo 0). Mikä tekee siitä vielä tehokkaamman.

my_list = ['omena', 'banaani', 'kirsikka', 'persikka']: c, arvo in enumerate(my_list, 1): print(c, value) # Tulos: # 1 omena # 2 banaani # 3 kirsikka # 4 persikkaa

Jätä vastaus