kwa kitanzi kwenye python. Sintaksia, kuorodhesha iteration, kuvunja, kuendelea na vipengele vingine

Цikl kwa chatu i mzunguko wakati - kauli programu lugha, ambayo ni: waendeshaji iteration, leting kurudia kanuni nambari iliyopewa wakati.

Цnk Kwa - сintaksi

Kama ilivyoelezwa tayari, cni pamoja na kwa katika Python ni iterator msingiй kwa kila mzungukoutambulisho. ni yeye vitendo kwa vipengele vya tuple и orodha, msamiati funguo na nyingine vitu iterable.

Kitanzi kwenye Python huanza na kwa neno kuu, ikifuatiwa na jina la kiholela la kutofautisha ambalo huhifadhi thamani ya kitu kinachofuata katika mlolongo uliopeanwa. Syntax ya jumla ya...in in python inaonekana kama hii:

kwa: kwingine:      

Vipengele "mfuatano" zimeorodheshwa mmoja baada ya mwingine kutofautiana kwa mzunguko. Au tuseme, kutofautiana pointi kwa vile vipengele. Kwa kila mtu wao "hatua" inafanywa.

Rahisi kwa kitanzi katika Python na mfano maalum:

>>> languages ​​= ["C", "C++", "Perl", "Python"] >>> kwa x katika lugha: ... chapa(x) ... C C++ Perl Python >>>

Kizuizi kingine ni maalumth. Ikiwa a programuы kufanya kazi с Perl ukooы naye, Kwamba kwa wale wanaoingiliana с C na C++ - huu ni uvumbuzi. Semantically yake kazi тsawasawa wakati kitanzi.

Inatekelezwa tu wakati kitanzi "hakijasimamishwa" na taarifa ya mapumziko. Hiyo ni, inatekelezwa tu baada ya vipengele vyote kupitia mlolongo maalum.

Opereta wa kuvunja kwenye python - mapumziko

Ikiwa programu ina kitanzi muhimu kupingaya kauli ya kuvunja, he kukamilishainakwendana mpango kati yake mapenzi contkuwa bila ya Activation kutoka kwa mwingine.

Mara nyingi zaidi vunja misemo katika pythonuyutsya na kauli zenye masharti.

edibles = ["chops", "dumplings","mayai","nuts"] kwa ajili ya chakula katika vyakula vinavyoliwa: if food == "dumplings": print("Sili maandazi!") break print("Mkuu, ladha " + chakula) kingine: chapisha("Ni vizuri kwamba hapakuwa na maandazi!") print("Chakula cha jioni kimekwisha.")

Ukiendesha nambari hii, unapata matokeo yafuatayo:

Kubwa, chops ladha. Sili maandazi! Chakula cha jioni kimekwisha.

Tunaondoa "dumplings" kutoka kwenye orodha iliyopo ya data na kupata:

Bora, chops ladha Bora, mayai ya ladha Bora, karanga za kupendeza Jambo jema hapakuwa na dumplings! Chakula cha jioni kimekwisha.

python skip operator - endelea

Hebu sema kwamba chuki ya mtumiaji kwa bidhaa hizo sio kubwa sana hata kuacha kabisa matumizi yao. Matokeo yake, kitanzi kinaendelea na operator continue. Hati ifuatayo hutumia taarifa continue, ili kuendelea kurudia kupitia orodha kwenye "dumpling contact".

edibles = ["chops", "dumplings","eggs","nuts"] kwa chakula cha vyakula vya kuliwa: if food == "dumplings": print("Sili maandazi!") continue print("Nzuri, ladha " + food) # hii inaweza kuwa kanuni ya kufurahia chakula :-) else: print("I hate dumplings!") print("Chakula cha jioni kimekwisha.")

Mstari wa chini:

Kubwa, chops ladha. Sili maandazi! Kubwa, mayai ya ladha Kubwa, karanga za ladha Ninachukia dumplings! Chakula cha jioni kimekwisha.

Inarudia juu ya orodha na anuwai() chaguo la kukokotoa

Ikiwa unataka kufikia faharasa za orodha, haijulikani wazi jinsi ya kutumia kitanzi kwa madhumuni haya. Inawezekana kufikia vipengele vyote, lakini index ya kipengele itabaki kuwa haipatikani. Walakini, kuna njia ya kupata faharisi ya kipengee na kipengee chenyewe. Kwa kusudi hili, kazi hutumiwa range() pamoja na kazi ya urefu len():

fibonacci = [0,1,1,2,3,5,8,13,21] kwa i katika masafa(len(fibonacci)): chapa(i,fibonacci[i])

Pata:

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

Tahadhari! Inapotumika len() к list or tuple, idadi inayolingana ya vipengele vya mlolongo uliopewa hupatikana.

Ugumu wa kurudia orodha

Unaporudia orodha, inashauriwa kuzuia mienendo ya orodha kwenye mwili wa kitanzi. Kwa uwazi, tunaweza kutoa chaguo zifuatazo:

rangi = ["nyekundu"] kwa i katika rangi: ikiwa i == "nyekundu": rangi += ["nyeusi"] ikiwa i == "nyeusi": rangi += ["nyeupe"] chapa(rangi)

Nini kinatokea wakati wa kuomba print(colours)?

['nyekundu', 'nyeusi', 'nyeupe']

Ili kuepuka hili, inashauriwa kuingiliana na nakala kwa kutumia vipande, kama katika mfano hapa chini:

rangi = ["nyekundu"] kwa i katika rangi[:]: ikiwa i == "nyekundu": rangi += ["nyeusi"] ikiwa i == "nyeusi": rangi += ["nyeupe"] chapa(rangi )

Matokeo:

['Nyekundu Nyeusi']

Orodha imebadilishwa colours, lakini hatua hii haikuathiri kitanzi. Data iliyohitaji kurudiwa ilibaki bila kubadilika wakati wa utekelezaji wa kitanzi.

Hesabu katika chatu 3

Enumerate ni kazi iliyojengwa ndani ya Python. Waanzilishi wengi, pamoja na watengenezaji programu wenye uzoefu, hawajui uwepo wake. Inakuruhusu kuhesabu kiotomati marudio ya kitanzi. Kwa mfano:

kwa kaunta, thamani katika enumerate(some_list): print(counter, value)

kazi enumerate pia inachukua hoja ya hiari (thamani ya asili, iliyochukuliwa na chaguo-msingi kwa 0) Ambayo inafanya kuwa na ufanisi zaidi.

my_list = ['apple', 'ndizi', 'cherry', 'peach'] kwa c, thamani katika enumerate(orodha_yangu, 1): chapa(c, thamani) # Matokeo: # 1 tufaha # 2 ndizi # 3 cherry # 4 peach

Acha Reply