for loop python-en. Sintaxia, zerrendaren iterazioa, eten, jarraitu eta beste ezaugarri batzuk

Цikl python i zikloa bitartean – adierazpenak software hizkuntza, hots: iterazio-operadoreak, utziing errepikatu kodea emandako zenbakia aldi berean.

Цикл For - сintaxis

Lehen azaldu bezala, cinclude for in Python-en oinarritutako iterador bat daй ziklo bakoitzekoidentitatea. bera da egintzak elementu tuplaren bidez и zerrenda, hiztegia giltzak eta beste objektu iteragarriak.

Python-en begizta bat for gako-hitzarekin hasten da, eta ondoren emandako sekuentzian hurrengo objektuaren balioa gordetzen duen aldagai-izen arbitrario batekin. Python-en for...in-en sintaxi orokorra honelakoa da:

for in: bestela:      

Osagaiak "sekuentziak" zerrendatzen dira bata bestearen atzetik ziklo aldagaia. Edo hobeto esanda, aldagaiak puntura hala nola, elementuak. Denentzat horietako “ekintza” egiten da.

Python-en begizta sinple bat adibide zehatz batekin:

>>> hizkuntzak = ["C", "C++", "Perl", "Python"] >>> x hizkuntzatan: ... print(x) ... C C++ Perl Python >>>

Beste blokea berezia dath. a bada programatzaileentzakoыlanean с Perl ezagunaы Berarekin, duen elkarreragiten dutenentzat с C eta C++ - hau berrikuntza bat da. Semantikoki funtzio тberdin-berdin loop bitartean.

Break adierazpenak begizta "gelditzen" ez duenean bakarrik exekutatzen da. Hau da, elementu guztiak zehaztutako sekuentziatik igaro ondoren bakarrik exekutatzen da.

Break operadorea python - break

Programak for begizta badu beharrezkoa etendu hautsi adierazpena, he betedoa programa fluxua izango jarraipenaahal izango gabe aktibazioa bestetik.

Maizago apurtu esaldiak python-enuyutsya baldintzazko adierazpenekin.

edibles = ["txuletak", "dumplings","arrautzak","fruitu lehorrak"] jangaietan janaria egiteko: if food == "dumplings": print("Ez ditut dumplings jaten!") break print("Oso, delicious " + janaria) else: print("On da dumplingrik ez egotea!") print("Afaria amaitu da.")

Kode hau exekutatzen baduzu, emaitza hau lortuko duzu:

Txuleta bikainak eta goxoak. Ez dut dumplings jaten! Afaria amaitu da.

Dauden datu-zerrendatik "dumplings" kentzen dugu eta:

Bikain, txuleta gozoak Bikain, arrautza gozoak Bikain, gozoak fruitu lehorrak Gauza ona dumplings ez zegoen! Afaria amaitu da.

python skip operadorea - jarraitu

Demagun erabiltzaileak horrelako produktuekiko duen antipatia ez dela hain handia bere kontsumoa erabat alde batera uzteko. Ondorioz, begiztak operadorearekin jarraitzen du continue. Ondorengo gidoiak adierazpena erabiltzen du continue, "dumpling kontaktua" zerrendan errepikatzen jarraitzeko.

edibles = ["txuletak", "dumplings","arrautzak","fruitu lehorrak"] jangaietan janaria egiteko: if food == "dumplings": print("Ez ditut dumplings jaten!") continue print("Oso, delicious " + janaria) # hau janaria gozatzeko kodea izan daiteke :-) else: print("Gorroto ditut dumplings!") print("Afaria amaitu da.")

Beheko lerroa:

Txuleta bikainak eta goxoak. Ez dut dumplings jaten! Arrautza bikainak eta goxoak Intxaur bikainak eta goxoak Gorroto ditut dumplings! Afaria amaitu da.

Range() funtzioarekin zerrendetan errepikatzea

Zerrenda baten indizeetara sartu nahi baduzu, ez dago argi for begizta nola erabili horretarako. Elementu guztietara sar daiteke, baina elementuaren indizea eskuraezina izango da. Hala ere, bada elementuaren indizea eta elementua bera atzitzeko metodo bat. Horretarako, funtzioa erabiltzen da range() luzera funtzioarekin konbinatuta len():

Fibonacci = [0,1,1,2,3,5,8,13,21] i-rako (len(fibonacci)): inprimatu(i,fibonacci[i])

get:

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

Kontuz! Aplikatzen denean len() к list or tuple, emandako sekuentziari dagokion elementu kopurua lortzen da.

Zerrendetan errepikatzeko zailtasunak

Zerrenda baten gainean errepikatzean, begizta gorputzean zerrenda dinamikak saihestea gomendatzen da. Argitasuna lortzeko, aukera hau eskain dezakegu:

koloreak = ["gorria"] koloretan i-rentzat: if i == "gorria": koloreak += ["beltza"] if i == "beltza": koloreak += ["zuria"] inprimatu(koloreak)

Zer gertatzen da eskaera egiterakoan print(colours)?

['gorria', 'beltza', 'zuria']

Hori ekiditeko, kopiarekin elkarreragina egitea gomendatzen da xerrak erabiliz, beheko adibidean bezala:

koloreak = ["gorria"] koloretan i-rentzat[:]: if i == "gorria": koloreak += ["beltza"] if i == "beltza": koloreak += ["zuria"] inprimatu(koloreak )

Emaitza:

['Gorria Beltza']

Zerrenda aldatu egin da colours, baina ekintza honek ez zuen begiztetan eraginik izan. Errepikatu behar ziren datuak aldatu gabe geratu ziren begizta exekutatzen zen bitartean.

Zenbaki python 3-n

Enumerate Python-en funtzio integratua da. Hasiberri gehienek, baita esperientziadun programatzaile batzuek ere, ez dute haren existentziaz jabetzen. Begiztaren iterazioak automatikoki zenbatzeko aukera ematen du. Adibidez:

kontagailurako, balioa enumerate(zerrenda_zenbait): inprimatu (kontagailua, balioa)

Funtzio enumerate aukerako argumentu bat ere hartzen du (jatorriaren balioa, lehenespenez hartuta 0). Horrek are eraginkorragoa egiten du.

nire_zerrenda = ['sagarra', 'banana', 'gerezi', 'mertxika'] c-rako, balioa enumerate-n (nire_zerrenda, 1): inprimatu (c, balioa) # Emaitza: # 1 sagarra # 2 banana # 3 gerezi # 4 mertxika

Utzi erantzun bat