pou bouk nan python. Sentaks, iterasyon lis, kraze, kontinye ak lòt karakteristik

Цikl pou python mwen sik pandan y ap – deklarasyon lojisyèl lang, sètadi: operatè iterasyon, letING repete kòd nimewo yo bay tan.

Цикл Pou - сintaxis

Kòm deja eksplike, cenkli pou nan Python se yon iteratè ki baze souй pou chak sikidantite. se li menm zak pa eleman tuple и lis, vokabilè kle ak lòt objè iterabl.

Yon bouk nan Python kòmanse ak mo kle for, ki te swiv pa yon non varyab abitrè ki estoke valè pwochen objè a nan sekans yo bay la. Sentaks jeneral pou for...in nan python sanble sa a:

pou nan: else:      

Konpozan "sekans" yo ki nan lis youn apre lòt sik varyab. Oswa pito, varyab pwen yo tankou eleman. Pou tout moun nan yo "aksyon" fèt.

Yon senp for bouk nan Python ak yon egzanp espesifik:

>>> lang = ["C", "C++", "Perl", "Python"] >>> pou x nan lang: ... print(x) ... C C++ Perl Python >>>

Lòt blòk la se espesyalth. Si yon pwogramèыk ap travay с Perl abityeы avèk li, ki pou moun ki kominike с C ak C++ - sa a se yon inovasyon. Semantik li fonksyon тidantikman pandan y ap bouk.

Se sèlman egzekite lè bouk la pa "sispann" pa deklarasyon an kraze. Sa vle di, li egzekite sèlman apre tout eleman yo te pase nan sekans espesifye a.

Break operatè nan python - kraze

Si pwogram nan gen yon bouk for nesesè entèwonpnan deklarasyon kraze, he konpleteli aleak pwogram koule ap kontyo dwe san deklanchman soti nan lòt moun.

Pi souvan kraze fraz nan pythonuyutsya ak deklarasyon kondisyonèl.

edibles = ["boulèt", "boulèt", ze","nwa"] pou manje nan manjab: si manje == "boulèt": print("Mwen pa manje boulèt!") break print("Bon, bon gou " + manje) else: print("Li bon ke pa t gen boulèt!") print("Dine fini.")

Si ou kouri kòd sa a, ou jwenn rezilta sa a:

Gwo, chop bon gou. Mwen pa manje boulèt! Dine fini.

Nou retire "boulèt" nan lis done ki egziste deja epi jwenn:

Ekselan, chop bon gou Ekselan, ze bon gou Ekselan, nwa bon gou Bon bagay pa te gen boulèt! Dine fini.

python skip operatè - kontinye

Ann di ke antipati itilizatè a nan pwodwi sa yo pa tèlman gwo ke konplètman abandone konsomasyon yo. Kòm yon rezilta, bouk la kontinye ak operatè a continue. Script sa a sèvi ak deklarasyon an continue, kontinye iterasyon nan lis la sou "boulèt kontak".

edibles = ["boulèt", "boulèt", ze","nwa"] pou manje nan manjab: si manje == "boulèt": print("Mwen pa manje boulèt!") kontinye enprime("Bon, bon gou " + manje) # sa a ta ka kòd pou jwi manje :-) else: print("Mwen rayi boulèt!") print("Dine fini.")

Liy anba la:

Gwo, chop bon gou. Mwen pa manje boulèt! Gwo, ze bon gou Gwo, bon gou nwa Mwen rayi boulèt! Dine fini.

Iterasyon sou lis ak fonksyon range().

Si ou vle jwenn aksè nan endis yo nan yon lis, li pa klè ki jan yo sèvi ak yon bouk for pou objektif sa a. Li posib jwenn aksè nan tout eleman, men endèks eleman an ap rete inaksesib. Sepandan, gen yon metòd pou jwenn aksè nan endèks eleman an ak eleman nan tèt li. Pou rezon sa a, yo itilize fonksyon an range() konbine avèk fonksyon longè len():

Fibonacci = [0,1,1,2,3,5,8,13,21] pou i nan ranje(len(fibonacci)): enprime(mwen,fibonacci[i])

Jwenn:

0 0 1 1 2 1 3 2 4 3 5 5 6 8

Atansyon! Lè aplike len() к list or tuple, yo jwenn kantite eleman ki koresponn nan sekans yo bay la.

Difikilte pou iterasyon sou lis yo

Lè iterasyon sou yon lis, li rekòmande pou evite dinamik lis nan kò bouk la. Pou klè, nou ka ofri opsyon sa a:

koulè = ["wouj"] pou mwen nan koulè: if i == "wouj": koulè += ["nwa"] if i == "nwa": koulè += ["blan"] enprime(koulè)

Kisa k ap pase lè w ap aplike print(colours)?

['wouj', 'nwa', 'blan']

Pou evite sa a, li rekòmande pou kominike avèk kopi a lè l sèvi avèk tranch, tankou nan egzanp ki anba a:

koulè = ["wouj"] pou mwen nan koulè[:]: if i == "wouj": koulè += ["nwa"] if i == "nwa": koulè += ["blan"] enprime(koulè )

Rezilta:

['Wouj Nwa']

Lis la te chanje colours, men aksyon sa a pa t afekte bouk la. Done yo ki te bezwen repete rete san okenn chanjman pandan ekzekisyon bouk la.

Enumere nan python 3

Enumerate se yon fonksyon Python entegre. Pifò débutan, osi byen ke kèk pwogramè ki gen eksperyans, yo pa okouran de egzistans li. Li pèmèt ou otomatikman konte iterasyon nan bouk la. Pa egzanp:

pou kontwa, valè nan enumerate(some_list): print(counter, value)

fonksyon enumerate tou pran yon agiman si ou vle (valè orijin nan, pran pa default pou 0). Ki fè li menm pi efikas.

my_list = ['pòm', 'bannann', 'cherry', 'pèch'] pou c, valè nan enumerate(my_list, 1): print(c, value) # Rezilta: # 1 pòm # 2 bannann # 3 Cherry # 4 pèch

Kite yon Reply