pamene loop mu Python. Momwe zimagwirira ntchito, zitsanzo zakugwiritsa ntchito

Lupu ndi chimodzi mwa zida zazikulu za chilankhulo chilichonse. Pali malupu awiri oyambira ku Python, imodzi yomwe ndi nthawi. Lingalirani, komanso kuti mumvetse bwino chithunzicho, chinanso. Zoonadi, poyerekezera ndi chinthu chofananacho, n’kosavuta kumvetsa nkhani iliyonse, si choncho?

Lingaliro la kuzungulira

Lupu imafunika pamene chinthu china chiyenera kuchitidwa kangapo. Izi ndi zophweka, chifukwa kwenikweni mitundu yosiyanasiyana ya ntchito zozungulira ndi yotakata kwambiri. Pali mitundu iwiri yayikulu ya malupu ku Python: kwanthawi yayitali. Chodziwika kwambiri ndi cha.

Kuphatikiza pa zochita zinazake, mutha kulunzanitsa ma code osiyanasiyana mpaka pamlingo wina. Izi zitha kukhala nthawi zingapo, kapena bola ngati mkhalidwe wina uli wowona.

Tisanayambe kumvetsetsa mitundu ya malupu ndipo, makamaka, tifunikabe kumvetsetsa kuti iteration ndi chiyani. Uku ndi kubwereza kumodzi kwa chochita kapena katsatidwe kazochita panthawi yomwe ikugwiritsiridwa ntchito.

Cycle Kwa

Our For loop si chowerengera, monga m'zilankhulo zina zambiri. Ntchito yake ndikulemba mndandanda wazinthu zina. Kodi izi zikutanthauza chiyani? Tinene kuti tili ndi mndandanda wa zinthu. Choyamba, kuzungulira kumatenga choyamba, chachiwiri, chachitatu, ndi zina zotero.

Ubwino wa loop mu Python ndikuti simuyenera kudziwa index ya chinthucho kuti mudziwe nthawi yotuluka. Zonse zidzangochitika zokha.

>>> spisok = [10, 40, 20, 30]

>>> za element mu spisok:

…sindikiza(chinthu +2)

...

12

42

22

32

Mu chitsanzo chathu, tinagwiritsa ntchito variable gawo pambuyo pa lamulo. Kawirikawiri, dzinalo likhoza kukhala chirichonse. Mwachitsanzo, dzina lodziwika bwino ndi i. Ndipo ndi kubwereza kulikonse, kusinthaku kudzapatsidwa chinthu china kuchokera pamndandanda, chomwe tidachitcha mawu oyenerera.

Kwa ife, mndandandawu ndi mndandanda wa manambala 10,40,20,30. Pakubwereza kulikonse, mtengo wofananira umawonekera muzosintha. Mwachitsanzo, pamene kuzungulira kumayamba, kusinthasintha gawo mtengo 10 waperekedwa. Pakubwereza kotsatira, khumi amasandulika kukhala nambala 40, kachitatu amasandulika kukhala nambala 20, ndipo pamapeto pake, pomaliza kubwereza kwa loop, amasanduka 30.

Chizindikiro cha mapeto a kuzungulira ndi mapeto a zinthu mu mndandanda.

Ngati mukufuna lupu kuti muwerenge zamtengo wapatali, monga m'zilankhulo zina zamapulogalamu, muyenera kupanga mndandanda wokhala ndi manambala achilengedwe mpaka pamtengo womwe tikufuna.

>>> spisok = [1,2,3,4,5]

Kapena gwiritsani ntchito leni (), kudziwa kutalika kwa mndandanda. Koma mu nkhani iyi ndi bwino kugwiritsa ntchito lupu pamene, chifukwa palibe chifukwa chogwiritsa ntchito kusintha.

Ngati mukufuna kusintha mayendedwe azinthu pamndandanda, loop chifukwa ndipo apa pakubwera kudzapulumutsa. Kuti muchite izi, pobwerezabwereza, chinthu chilichonse cha mndandandawo chiyenera kupatsidwa mtengo woyenerera.

Pomwe Loop

Mosiyana ndi kuzungulira chifukwa, zomwe zimangobwereza zomwe zimayenderana, loop pamene ali ndi ntchito zambiri. Dzina la mtundu uwu wa zozungulira limamasuliridwa kuti "komabe". Ndiko kuti, “mpaka”.

Ichi ndi njira yapadziko lonse lapansi yomwe imapezeka m'zilankhulo zonse zamapulogalamu. Ndipo m'njira zina amafanana ndi wogwiritsa ntchito wokhazikika uwu, yomwe imapanga cheke kuti awone ngati vuto linalake lakwaniritsidwa. Pokhapokha mosiyana ndi wogwiritsa ntchito wokhazikika, pamene amachita cheke nthawi iliyonse, osati kamodzi kokha. Ndipo pokhapokha ngati mkhalidwewo uli wabodza, loop imatha ndipo lamulo lomwe limatsatira likuchitika. M'mawu osavuta, ngati mkhalidwe umene akugwira ntchito sulinso wovomerezeka.

Ngati tijambula mozungulira pamene Mwachidule, izi zimachitika pogwiritsa ntchito chiwembu chotere.pamene loop mu Python. Momwe zimagwirira ntchito, zitsanzo zakugwiritsa ntchito

Nthambi yayikulu ya pulogalamuyi (yomwe imayenda kunja kwa loop) ikuwonetsedwa pachithunzichi ndi ma rectangles abuluu. Turquoise imayimira thupi la kuzungulira. Komanso, rhombus ndi chikhalidwe chomwe chimayang'aniridwa nthawi zonse.

Mphindi pamene zitha kubweretsa zosiyana ziwiri:

  1. Ngati kumayambiriro kwa loop mawu omveka sabwereranso owona, ndiye kuti samangoyamba, atamaliza kuphedwa. Nthawi zambiri, izi ndi zachilendo, chifukwa nthawi zina, kugwiritsa ntchito sikungawonetse kupezeka kwa mawu mu thupi la loop.
  2. Ngati mawuwo ndi oona nthawi zonse, izi zingayambitse kuzungulira. Ndiko kuti, mpaka kusuntha kosalekeza kwa kuzungulira. Chifukwa chake, pamapulogalamu otere, nthawi zonse payenera kukhala mawu otuluka kuchokera ku lupu kapena pulogalamu. Komabe, izi zidzachitika ngati pulogalamuyo inatha kudziwa zoona kapena zabodza za chikhalidwe china. Ngati alephera kuchita izi, ndiye kuti cholakwika chimabwezedwa ndikutha kwa pulogalamuyo. Kapena mutha kuthana ndi vutolo, ndiyeno, ngati lichitika, code ina idzachitidwa.

Pakhoza kukhala zosankha zambiri za momwe mungachitire cholakwika. Mwachitsanzo, pulogalamuyo ingafunse wogwiritsa ntchito kuti alowetse deta molondola. Chifukwa chake, ngati munthu adawonetsa nambala yolakwika pomwe ingakhale yabwino, kapena adalemba zilembo pomwe manambala okha ayenera kukhala, pulogalamuyo imatha kudziwa.

Pomwe Zitsanzo za Lupu

Nachi chitsanzo cha code yomwe imayendetsa zolakwika pankhaniyi.

n = zolowetsa("Lowetsani nambala:") 

pamene mtundu(n) != int:

    Yesani:

        n = ine (n)

    kupatula ValueError:

        sindikiza ("Zolemba zolakwika!")

        n = zolowetsa("Lowetsani nambala:") 

ngati n% 2 == 0:

    sindikiza ("Ngakhale")

china:

    sindikiza ("Odd")

Kumbukirani kuti Python amagwiritsa ntchito ma colon kuti alengeze zolemba zovuta.

Mu code yomwe ili pamwambapa, tafotokoza ngati chikhalidwe chomwe tiyenera kuyang'ana ngati chiwerengerocho ndi chiwerengero. Ngati inde, ndiye zabodza zimabwezedwa. Ngati sichoncho, ndiye zoona.

Mu gawo lachiwiri la code, kumene wogwiritsa ntchito amagwiritsidwa ntchito if, tidagwiritsa ntchito % kuti tipeze zotsalira pambuyo pogawa magawo. Chotsatira ndikuwunika ngati nambalayo ndi yofanana. Ngati sichoncho, ndiye kuti yotsalayo ndi imodzi pankhaniyi. Chifukwa chake, chiwerengerocho ndi chosamvetseka. 

M'mawu osavuta, nambala yomwe ili pamwambapa imayang'ana kaye ngati chingwe chomwe wogwiritsa ntchito adalowa ndi nambala. Ngati inde, ndiye kuti cheke chachiwiri chimapangidwa kuti muwone ngati pali gawo lotsala la magawo awiri. Koma chipika chachiwiri sichidzachitidwa mpaka mtengo womwe wogwiritsa ntchito alowa ndi nambala.

Ndiye kuti, kuzungulira kumachitidwa pafupipafupi mpaka mkhalidwewo utachitika. Munthawi imeneyi, zimagwira ntchito motere. 

Ndiko kuti, mutha kuchoka ku chosiyana: tsegulani chinthu china mpaka chochitikacho chikhale chabodza.

Kusintha kwa code

Tsopano tiyeni tiwone mwatsatanetsatane momwe code iyi imagwirira ntchito. Kuti tichite izi, tidzasanthula pang'onopang'ono.

  1. Choyamba, wogwiritsa ntchito akulowetsa chingwe, chomwe chimavomerezedwa ndi variable n. 
  2. Kugwiritsa ntchito lupu pamene mtundu wa kusintha uku kufufuzidwa. Pakulowa koyamba, sizofanana Int. Chifukwa chake, chifukwa cha mayesowo, amapezeka kuti mkhalidwewu ndi wowona. Chifukwa chake, thupi la loop limalowetsedwa.
  3. Mothandizidwa ndi woyendetsa yesani tikuyesera kusintha chingwe kukhala nambala. Ngati izi zachitika, ndiye kuti palibe cholakwika. Chifukwa chake, palibe chifukwa chochikonza. Choncho, womasulira amabwerera kumayambiriro kwa kuzungulira, ndipo malinga ndi zotsatira za cheke, zimakhala kuti zakhala chiwerengero. Ndiye tiyeni tipite ku sitepe 7
  4. Ngati kutembenuka sikunapambane, ndiye kuti ValueError imaponyedwa. Pankhaniyi, pulogalamu yoyenda imatumizidwa kwa wosamalira kupatula.
  5. Wogwiritsa amalowetsa mtengo watsopano, womwe umaperekedwa ku variable n.
  6. Womasulira abwerera ku sitepe 2 ndikuwunikanso. Ngati ndi chiwerengero chokwanira, pitani ku sitepe 7. Ngati sichoncho, kutembenuka kumayesedwanso molingana ndi sitepe 3.
  7. Mothandizidwa ndi woyendetsa if Imatsimikiza ngati pali chotsalira pambuyo pogawa nambala ndi 2. 
  8. Ngati sichoncho, mawu akuti "ngakhale" amabwezedwa.
  9. Ngati sichoncho, mawu akuti "odd" abwezedwa.

Taganizirani chitsanzo choterocho. Yesani kudziwa kuti kuzungulira kumeneku kudutsa kangati?

zonse = 100 

Ine = 0

ndi <5:

    n = zolowetsa())

    chonse = chiwopsezo - n

    ine = ndi +1 

sindikiza ("Zotsalira", zonse)

Yankho lolondola ndi 5. Poyambirira, mtengo wa kusintha i -ziro. Womasulira amayang'ana ngati kusintha kuli kofanana i 4 kapena zochepa. Ngati inde, ndiye kuti mtengowo wabwezedwa. koona, ndipo kuzungulira kumachitidwa molingana. Mtengo ukuwonjezeka ndi chimodzi.

Pambuyo pa kubwereza koyamba, mtengo wa kusinthako umakhala 1. Cheke ikuchitika, ndipo pulogalamuyo imamvetsetsa kuti nambalayi ndi yocheperapo kuposa 5. Choncho, thupi lozungulira likuchitidwa kachiwiri. Popeza masitepewo ndi ofanana, mtengowo umakulitsidwanso ndi chimodzi, ndipo kusinthaku ndi kofanana ndi 2.

Mtengo uwu ndi wocheperapo asanu. Ndiye kuzungulira kumachitidwa kachitatu, kuwonjezeredwa ku kusintha i 1 ndipo amapatsidwa mtengo 3. Izi ndi zosakwana zisanu. Ndipo kotero zimabwera ku kubwereza kwachisanu ndi chimodzi kwa kuzungulira, komwe mtengo wa kusintha i ikufanana ndi 5 (pambuyo pake, poyamba inali ziro, momwe tikukumbukira). Chifukwa chake, vutoli silimayesedwa, ndipo kuzungulira kumathetsedwa basi ndipo kusinthira ku sitepe yotsatira, yomwe ili kunja kwake (kapena kutha kwa pulogalamu, ngati njira zotsatirazi sizikuperekedwa), zimachitika.

Kuzungulira kungathenso kuchitika mosiyana. Pano pali chitsanzo cha kachidindo komwe, ndi kubwereza kwina kulikonse, wina amachotsedwa pamtengo wamakono wa kusintha. 

zonse = 100 

pamene chiwerengero> 0:

    n = zolowetsa())

    chonse = chiwopsezo - n 

kusindikiza ("Njira yatha")

Yesani kulingalira zomwe pulogalamuyi imachita! Tangoganizani kuti mu variable okwana zambiri zokhudzana ndi pulogalamuyo zimasungidwa. Nthawi iliyonse womasulira amayang'ana ngati chidacho chilipo. Ngati sichoncho, ndiye kuti mawu akuti "Resource exhausted" akuwonetsedwa ndipo pulogalamuyo imatseka. Ndipo ndi kubwereza kulikonse kwa loop, gwero limachepa ndi nambala yomwe wosuta amatchula.

Ndipo tsopano homuweki. Yesani kusintha nambala yomwe ili pamwambapa kuti kusinthaku kusakhale koyipa. 

3 Comments

  1. si code ahaan usoo gudbi

Siyani Mumakonda