fyrir lykkju í python. Setningafræði, endurtekning á lista, brot, halda áfram og aðrir eiginleikar

Цikl fyrir python i hringrás á meðan - yfirlýsingar hugbúnaður tungumál, nefnilega: endurtekning rekstraraðila, látaing endurtaka kóða gefið númer tíma.

Цикл Fyrir — сinnanleigubílar

Eins og áður hefur verið útskýrt, cinclude for í Python er endurtekning byggður áй á hverri lotusjálfsmynd. er hann virkar með túpelþáttum и listi, orðaforða lykla og annað endurtekningarhlutir.

Lykka í Python byrjar á for lykilorðinu, fylgt eftir með handahófskenndu breytuheiti sem geymir gildi næsta hlutar í tiltekinni röð. Almenn setningafræði fyrir for…in í python lítur svona út:

fyrir í: annað:      

Hluti "raðir" eru skráð einn eftir annan hringrás breytu. Eða frekar, breytilegt stig til svo þættir. Fyrir alla þeirra „aðgerð“ er framkvæmd.

Einfalt fyrir lykkju í Python með ákveðnu dæmi:

>>> tungumál = ["C", "C++", "Perl", "Python"] >>> fyrir x í tungumálum: ... print(x) ... C C++ Perl Python >>>

Hin blokkin er sérstökþ. Ef að forritariыvinna с Perl kannast viðы með honum, fyrir þá sem hafa samskipti с C og C++ — þetta er nýjung. Merkingarlega það aðgerðir тeins meðan lykkja.

Aðeins keyrt þegar lykkjan er ekki „stöðvuð“ af brotayfirlýsingunni. Það er, það er aðeins keyrt eftir að allir þættir hafa farið í gegnum tilgreinda röð.

Break operator í python – break

Ef forritið er með for lykkju nauðsynlegt truflaá brjóta yfirlýsingu, he ljúkaþað ferog program flæði mun frhtil að vera án virkjun frá öðru.

Oftar brjóta setningar í pythonuyutsya með skilyrtum yfirlýsingum.

edibles = ["kótilettur", "bollur","egg","hnetur"] fyrir mat í matvælum: if food == "dumplings": print("Ég borða ekki bollur!") break print("Frábært, ljúffengur " + matur) else: print("Gott að það voru engar dumplings!") print("Kvöldmaturinn er búinn.")

Ef þú keyrir þennan kóða færðu eftirfarandi niðurstöðu:

Frábærar, ljúffengar kótelettur. Ég borða ekki dumplings! Kvöldmaturinn er búinn.

Við fjarlægjum „dumplings“ af núverandi lista yfir gögn og fáum:

Frábærar, ljúffengar kótelettur Frábærar, ljúffengar egg Frábærar, ljúffengar hnetur Gott að það voru engar dumplings! Kvöldmaturinn er búinn.

python skip operator – haltu áfram

Segjum að andúð notandans á slíkum vörum sé ekki svo mikil að hann hætti algjörlega við neyslu þeirra. Fyrir vikið heldur lykkjan áfram með rekstraraðilanum continue. Eftirfarandi handrit notar yfirlýsinguna continue, til að halda áfram að endurtaka í gegnum listann yfir „dumpling contact“.

edibles = ["kótelettur", "dumplings","egg","hnetur"] fyrir mat í edibles: if food == "dumplings": print("Ég borða ekki bollur!") continue print("Frábært, ljúffengur " + matur) # þetta gæti verið kóði til að njóta matar :-) else: print("Ég hata dumplings!") print("Kvöldmaturinn er búinn.")

Aðalatriðið:

Frábærar, ljúffengar kótelettur. Ég borða ekki dumplings! Frábær, ljúffeng egg Frábærar, ljúffengar hnetur Ég hata dumplings! Kvöldmaturinn er búinn.

Endurtekið yfir lista með range() fallinu

Ef þú vilt fá aðgang að vísitölum lista er ekki ljóst hvernig á að nota for lykkju í þessum tilgangi. Það er hægt að fá aðgang að öllum þáttum, en vísitala þáttarins verður áfram óaðgengileg. Hins vegar er til aðferð til að fá aðgang að bæði vísitölu frumefnisins og frumefninu sjálfu. Í þessu skyni er aðgerðin notuð range() ásamt lengdaraðgerðinni len():

fibonacci = [0,1,1,2,3,5,8,13,21] fyrir i in range(len(fibonacci)): print(i,fibonacci[i])

Fá:

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

Athugið! Þegar beitt er len() к list or tuple, samsvarandi fjöldi staka í tiltekinni röð fæst.

Erfiðleikar við að endurtaka lista

Þegar endurtekið er yfir lista er mælt með því að forðast dýnamík lista í meginmáli lykkjunnar. Til glöggvunar getum við boðið upp á eftirfarandi valmöguleika:

litir = ["rauður"] fyrir i í litum: ef ég == "rauður": litir += ["svartur"] ef ég == "svartur": litir += ["hvítur"] print(litir)

Hvað gerist þegar sótt er um print(colours)?

['rautt', 'svart', 'hvítt']

Til að forðast þetta er mælt með því að hafa samskipti við afritið með því að nota sneiðar, eins og í dæminu hér að neðan:

litir = ["rauður"] fyrir i í litum[:]: ef ég == "rauður": litir += ["svartur"] ef ég == "svartur": litir += ["hvítur"] print(litir) )

Niðurstaða:

['Rauð svartur']

Listanum hefur verið breytt colours, en þessi aðgerð hafði ekki áhrif á lykkjuna. Gögnin sem þurfti að endurtaka héldust óbreytt meðan lykkjan var framkvæmd.

Telja upp í Python 3

Enumerate er innbyggð Python aðgerð. Flestir byrjendur, sem og sumir reyndir forritarar, eru ekki meðvitaðir um tilvist þess. Það gerir þér kleift að telja sjálfkrafa endurtekningar lykkjunnar. Til dæmis:

fyrir teljara, gildi í enumerate(some_list): print(counter, value)

virka enumerate tekur einnig valkvæða rök (gildi upprunans, sjálfgefið fyrir 0). Sem gerir það enn skilvirkara.

my_list = ['epli', 'banani', 'kirsuber', 'ferskja'] fyrir c, gildi í enumerate(my_list, 1): print(c, value) # Niðurstaða: # 1 epli # 2 banani # 3 kirsuber # 4 ferskja

Skildu eftir skilaboð