tsükkel pythonis. Süntaks, loendi iteratsioon, katkestus, jätkamine ja muud funktsioonid

Цikl python i jaoks tsükkel samas – avaldused tarkvara keel, nimelt: iteratsioonioperaatorid, olguse korda koodi antud number aega.

Цикл jaoks — сintaksid

Nagu juba selgitatud, cPythonis on iteraator, mis põhineb sellelй tsükli kohtaidentiteet. kas ta on õigusaktid mitmekordsete elementide järgi и nimekirja, sõnavara võtmed ja muu itereeritavad objektid.

Pythoni tsükkel algab märksõnaga for, millele järgneb suvaline muutuja nimi, mis salvestab antud järjestuses järgmise objekti väärtuse. For…in üldine süntaks pythonis näeb välja järgmine:

for in : else:      

Kompkletis "järjekorrad" on loetletud üksteise järel tsükli muutuja. Või õigemini, muutuv viitab selline elemendid. Kõigi jaoks nendest "tegevus" sooritatakse.

Lihtne tsükkel Pythonis koos konkreetse näitega:

>>> keeled = ["C", "C++", "Perl", "Python"] >>> x jaoks keeltes: ... print(x) ... C C++ Perl Python >>>

Muu plokk on erilineth. Kui a programmeerijaыtöö с Perl tuttavы temaga, et neile, kes suhtlevad с C ja C++ — see on uuendus. Semantiliselt see funktsioonid тidentselt samas silmus.

Käivitatakse ainult siis, kui tsükkel ei ole katkestuslausega "peatatud". See tähendab, et see käivitatakse alles pärast seda, kui kõik elemendid on määratud jada läbinud.

Katkesta operaator pythonis – murda

Kui programmis on for-tsükkel vajalik katkestamathe,en katkestusavaldus, he täitmasee lähebja programm voog will kontoolla ilma aktiveerimine mujalt.

Tihedamini murda fraase pythonisuyutsya tingimuslike väidetega.

edibles = ["karbonaad", "pelmeenid","munad","pähklid"] söödavates toiduainetes: if food == "pelmeenid": print("Ma ei söö pelmeene!") break print("Suurepärane, maitsev " + toit) else: print("Hea, et pelmeene polnud!") print("Õhtusöök on läbi.")

Kui käivitate selle koodi, saate järgmise tulemuse:

Suurepärased, maitsvad kotletid. Ma ei söö pelmeene! Õhtusöök on läbi.

Eemaldame olemasolevast andmete loendist "pelmeenid" ja saame:

Suurepärased, maitsvad karbonaadid Suurepärased, maitsvad munad Suurepärased, maitsvad pähklid Hea, et pelmeene polnud! Õhtusöök on läbi.

pythoni vahelejätmise operaator – jätka

Oletame, et kasutaja antipaatia selliste toodete suhtes ei ole nii suur, et nende tarbimisest täielikult loobuda. Selle tulemusena jätkub silmus operaatoriga continue. Järgmine skript kasutab avaldust continue, et jätkata "pelmeenikontakti" loendi kordamist.

edibles = ["kotletid", "pelmeenid","munad","pähklid"] söödavates toiduainetes: if food == "pelmeenid": print("Ma ei söö pelmeene!") Jätka print("Suurepärane, maitsev " + toit) # see võiks olla toidu nautimise kood :-) else: print("Ma vihkan pelmeene!") print("Õhtusöök on läbi.")

Alumine rida:

Suurepärased, maitsvad kotletid. Ma ei söö pelmeene! Suurepärased, maitsvad munad Suurepärased, maitsvad pähklid Ma vihkan pelmeene! Õhtusöök on läbi.

Loendite itereerimine funktsiooniga range()

Kui soovite juurdepääsu loendi indeksitele, pole selge, kuidas kasutada selleks tsüklit. Juurdepääs on kõigile elementidele, kuid elemendi indeks jääb kättesaamatuks. Siiski on olemas meetod juurdepääsuks nii elemendi indeksile kui ka elemendile endale. Sel eesmärgil kasutatakse funktsiooni range() kombineerituna pikkuse funktsiooniga len():

fibonacci = [0,1,1,2,3,5,8,13,21] i jaoks vahemikus (len(fibonacci)): print(i,fibonacci[i])

Hangi:

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

Tähelepanu! Kui rakendatakse len() к list or tuple, saadakse antud jada vastav arv elemente.

Nimekirjade itereerimise raskused

Loendi itereerimisel on soovitatav vältida loendi dünaamikat tsükli kehas. Selguse huvides saame pakkuda järgmist võimalust:

värvid = ["punane"] i jaoks värvides: if i == "punane": värvid += ["must"] if i == "must": värvid += ["valge"] print(värvid)

Mis juhtub taotlemisel print(colours)?

["punane", "must", "valge"]

Selle vältimiseks on soovitatav koopiaga suhelda lõikude abil, nagu allolevas näites:

värvid = ["punane"] i jaoks värvides[:]: if i == "punane": värvid += ["must"] if i == "must": värvid += ["valge"] print(värvid )

Tulemus:

["Punane must"]

Nimekirja on muudetud colours, kuid see toiming ei mõjutanud tsüklit. Andmed, mida oli vaja itereerida, jäid tsükli täitmise ajal muutumatuks.

Loetlege python 3-s

Enumerate on sisseehitatud Pythoni funktsioon. Enamik algajaid ja ka mõned kogenud programmeerijad ei ole selle olemasolust teadlikud. See võimaldab teil automaatselt lugeda tsükli iteratsioone. Näiteks:

loenduri jaoks väärtus loendis (mingi_loend): print(loendur, väärtus)

funktsioon enumerate võtab ka valikulise argumendi (lähteväärtuse, vaikimisi 0). Mis muudab selle veelgi tõhusamaks.

my_list = ['õun', 'banaan', 'kirss', 'virsik'] jaoks c, väärtus loendis enumerate(my_list, 1): print(c, value) # Tulemus: # 1 õun # 2 banaan # 3 kirss # 4 virsik

Jäta vastus