halka loop in Python. Sida ay u shaqeyso, tusaalooyinka isticmaalka

Loops waa mid ka mid ah qalabka ugu muhiimsan ee luqad kasta. Waxaa jira laba wareeg oo aasaasi ah Python, mid ka mid ah waa inta. Tixgeli, iyo sidoo kale si aad u fahamto sawirka, mid kale. Runtii, marka la barbardhigo shay la mid ah, aad bay u fududahay in la fahmo wax kasta, miyaanay ahayn?

Fikradda wareegga

Loop ayaa loo baahan yahay marka ficil gaar ah loo baahan yahay in la sameeyo dhowr jeer. Tani waa mid aad u fudud, sababtoo ah xaqiiqda dhabta ah ee codsiyada wareegyada ayaa aad u ballaaran. Waxaa jira laba nooc oo siddo oo waaweyn oo Python ah: muddo iyo waqti. Kuwa ugu caansan ayaa loogu talagalay.

Ficilada gaarka ah waxaa u dheer, waxaad wici kartaa kood kala duwan ilaa meel gaar ah. Tani waxay noqon kartaa tiro go'an oo jeer ah, ama ilaa inta xaalad gaar ahi run tahay.

Ka hor inta aynaan bilaabin in ay fahmaan noocyada siddo iyo halka, gaar ahaan, waxaan weli u baahan tahay in ay fahmaan waxa soo noqnoqda. Tani waa hal ku celcelinta fal ama isku xigxiga ficilada inta lagu jiro wareegtada hadda ee ku dhex jirta socodsiinta codsiga hadda.

Wareega

Our For loop ma aha counter, sida luqado kale oo badan. Shaqadeedu waa in ay tiriyo dhawr qaybood oo qiyam ah. Maxay tani ka dhigan tahay? Aynu nidhaahno waxaanu haynaa liis xubno ah. Marka hore, loop-ku wuxuu qaataa koowaad, labaad, saddexaad, iyo wixii la mid ah.

Faa'iidada wareeggan ee Python waa inaadan u baahnayn inaad go'aamiso tusaha curiyaha si aad u ogaato marka aad ka baxayso wareegga. Wax walba si toos ah ayaa loo samayn doonaa.

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

>>> ee curiyaha spisok:

… daabac (qayb + 2)

...

12

42

22

32

Tusaalahayaga, waxaanu isticmaalnay doorsoomiyaha curiye ka dib amarka. Guud ahaan, magacu wuxuu noqon karaa wax kasta. Tusaale ahaan, magacaabista caanka ah waa i. Dib-u-eegis kasta, doorsoomiyahan waxa lagu meelayn doonaa shay gaar ah oo liiska ka mid ah, kaas oo aanu ugu yeedhnay ereyga ku habboon.

Xaaladeena, liisku waa taxanaha tirooyinka 10,40,20,30. Dib-u-eegis kasta, qiimaha u dhigma ayaa ka muuqda doorsoomiyaha. Tusaale ahaan, sida ugu dhakhsaha badan ee loop bilaabo, doorsoomayaasha curiye qiimaha 10 ayaa loo qoondeeyay. Marxaladda soo socota, tobanku waxay isu beddelaan lambarka 40, marka saddexaadna waxay isu beddelaan lambarka 20, ugu dambeyntiina, wareegga u dambeeya ee loop, wuxuu u beddelaa 30.

Calaamadda dhamaadka meertadu waa dhamaadka curiyayaasha liiska ku jira.

Haddii aad u baahan tahay loop-ka si aad u samayso xisaabinta caadiga ah ee qiyamka, sida luqadaha kale ee barnaamijka, waa in aad samaysaa liis leh taxane nambaro dabiici ah ilaa qiimaha aan u baahanahay.

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

Ama isticmaal shaqada len(), si loo go'aamiyo dhererka liiska. Laakiin kiiskan waxa fiican in la isticmaalo loop halka, sababtoo ah looma baahna in la isticmaalo doorsoome.

Haddii aad u baahan tahay inaad beddesho taxanaha qiimayaasha ee liiska, loop waayo, oo halkan u soo gurmada. Si tan loo sameeyo, mar kasta oo soo noqnoqota, qayb kasta oo liiska ka mid ah waa in loo qoondeeyaa qiime ku habboon.

Inta Loop

Si ka duwan wareegga waayo,, kaas oo si fudud ugu celcelinaya qiyamka isku xigxiga, loop halka ayaa leh adeegsi badan. Magaca wareegyada noocaan ah waxaa loo tarjumay "wali". Taasi waa, "ilaa".

Tani waa wareeg caalami ah oo laga helo dhammaan luuqadaha barnaamijyada. Siyaabaha qaarna waxay u shabahaa hawlwadeen shuruudaysan haa, Kaas oo sameeya hubin si loo eego haddii shuruudo gaar ah la buuxiyey. Kaliya si ka duwan hawl wadeenka shuruuda ah, halka waxa uu sameeyaa jeega mar kasta, ma aha hal mar. Oo keliya haddii xaaladdu been tahay, wareeggu wuu dhammaanayaa oo amarka raacaya waa la fuliyaa. Erayada fudud, haddii xaaladda uu ku shaqeynayo aysan hadda ansax ahayn.

Haddii aan sawirno wareeg halka si fudud, tan waxaa lagu sameeyaa iyadoo la isticmaalayo nidaamkan.halka loop in Python. Sida ay u shaqeyso, tusaalooyinka isticmaalka

Laanta ugu weyn ee barnaamijka (oo ka baxsan wareegga) ayaa lagu sawiray shaxanka oo leh leydi buluug ah. Turquoise waxay u taagan tahay jirka wareegga. Taa baddalkeeda, rhombus waa xaalad la hubiyay xilli kasta.

Cycle halka waxay keeni kartaa laba ka reeban:

  1. Haddii bilowga loop-ka hadalka macquulka ah uusan ku soo laaban runta, ka dibna si fudud uma bilaabo, isagoo dhammaystiray ka hor intaan la fulin. Guud ahaan, xaaladdani waa caadi, sababtoo ah xaaladaha qaarkood, codsigu ma bixin karo joogitaanka tibaaxaha ee jirka loop.
  2. Haddi ay odhaahdu run tahay, tani waxay u horseedi kartaa wareeg. Taasi waa, si aan dhammaadka lahayn ee wareegga wareegga. Sidaa darteed, barnaamijyada noocaan ah, waa in had iyo jeer ay jiraan bayaan ka bixitaan oo ka soo baxa wareegga ama barnaamijka. Si kastaba ha ahaatee, xaaladdan ayaa soo bixi doonta haddii barnaamijku awoodo inuu go'aamiyo runta ama been-abuurka xaalad gaar ah. Haddii ay ku guuldareysatey in ay tan sameyso, markaas qalad ayaa lagu soo celinayaa joojinta barnaamijka. Ama waad xamili kartaa qaladka, ka dibna, haddii ay dhacdo, kood gaar ah ayaa la fulin doonaa.

Waxaa jiri kara tiro aad u badan oo ikhtiyaar ah sida qaladka loo maareeyo. Tusaale ahaan, barnaamijku wuxuu waydiisan karaa isticmaalaha inuu si sax ah u galo xogta. Sidaa darteed, haddii qofku muujiyo lambar taban oo ay noqon karto oo keliya, ama uu galo xarfo ay tahay in tirooyinku noqdaan, barnaamijku wuu sheegi karaa.

Halka Tusaalooyinka Loop

Halkan waxaa ah tusaale kood wax ka qabanaya khaladka kiiskan.

n = gelin (" Geli halbeeg: ") 

halka nooca(n) != int:

    Isku day:

        n = int(n)

    marka laga reebo ValueError:

        daabac ("Galitaan khaldan!")

        n = gelin (" Geli halbeeg: ") 

haddii n % 2 == 0:

    daabac ("Xitaa")

kale:

    daabac ("Qalab")

Maskaxda ku hay in Python ay isticmaasho colons si ay ugu dhawaaqdo dhismooyin kood adag.

Koodhka sare, waxa aanu ku qeexnay xaalad ah in aanu hubino in nambarku yahay tirooyin. Hadday haa tahay, markaa been waa la soo celinayaa. Haddaysan ahayn, waa run.

Qaybta labaad ee koodhka, halkaas oo hawlwadeenka loo isticmaalo if, waxaanu isticmaalnay % hawlwadeenka si aanu u helno inta hadhay ka dib hawlgalka qaybinta. Tallaabada xigta waa in la hubiyo in nambarku uu siman yahay. Haddii kale, markaas inta soo hartay waa mid kiiskan. Marka la eego, tiradu waa khayaali. 

Erayada fudud, koodhka sare ayaa marka hore hubinaya haddii xargaha uu galiyay isticmaaluhu yahay lambar. Hadday haa tahay, markaa jeeg labaad ayaa la sameeyaa si loo eego haddii ay jiraan wax ka hadhay qaybta laba. Laakiin baloogga labaad lama fulin doono ilaa qiimaha uu galiyay isticmaaluhu uu yahay tiro ahaan.

Taasi waa, wareegga si joogto ah ayaa loo fulin doonaa ilaa xaaladdu ka dhacdo. Xaaladdan oo kale, waxay u shaqeysaa sidan oo kale. 

Taasi waa, waxaad ka bixi kartaa lidkeeda: samee ficil gaar ah ilaa dhacdada ay noqoto mid been abuur ah.

Qiimaynta code

Hadda aan si faahfaahsan u aragno sida uu code-kani u shaqeeyo. Si tan loo sameeyo, waxaan u falanqeyn doonaa tallaabo tallaabo.

  1. Marka hore, isticmaaluhu wuxuu galaa xargo, kaas oo uu aqbalo doorsoomiyaha n. 
  2. Isticmaalka loop halka nooca doorsoomahan waa la hubiyaa. Gelitaanka ugu horreeya, ma sinna INT. Sidaa darteed, natiijada baaritaanka, waxaa la ogaaday in xaaladdan ay run tahay. Sidaa darteed, jidhka loop ayaa la galaa.
  3. Iyadoo la kaashanayo hawlwadeen isku day waxaan isku dayeynaa inaan xarig u rogno nambar. Haddii tan la sameeyo, markaa khalad ma dhaco. Sidaa awgeed, looma baahna in laga shaqeeyo. Sidaa darteed, turjubaanka wuxuu ku soo noqdaa bilawga wareegga, iyo sida ku cad natiijada jeegga, waxay soo baxday in ay noqotey mid isku mid ah. Haddaba aan tagno tallaabada 7
  4. Haddii beddelaaddu ay guul-darraysatay, markaas ValueError waa la tuuray. Xaaladdan oo kale, socodka barnaamijka waxaa loo diraa maamulaha marka laga reebo.
  5. Isticmaaluhu wuxuu galaa qiime cusub, kaas oo loo qoondeeyay doorsoomaha n.
  6. Turjubaanka ayaa ku soo laabanaya tilaabada 2 oo uu mar kale hubiyaa. Haddi ay tahay qiyam isugeyn, u gudub tilaabada 7. Haddaysan ahayn, beddelidda waxa la isku dayaa mar kale sida ku cad tallaabada 3.
  7. Iyadoo la kaashanayo hawlwadeen if Wuxuu go'aamiyaa haddii ay jiraan wax ka dhiman ka dib marka loo qaybiyo lambar 2. 
  8. Haddii kale, qoraalka "xitaa" waa la soo celinayaa.
  9. Haddaysan ahayn, qoraalka "qasi" waa la soo celinayaa.

Bal hadda u fiirso tusaale noocaas ah. Isku day inaad go'aamiso inta jeer ee wareeggan uu mari doono?

wadarta = 100 

i = 0

halka i <5:

    n = int ( gelin ())

    wadarta = wadarta - n

    i = i + 1 

daabac ("Hadhaa", wadarta)

Jawaabta saxda ah waa 5. Marka hore, qiimaha doorsoomayaasha i - eber. Turjubaanka ayaa hubinaya in doorsoomuhu siman yahay i 4 ama ka yar. Hadday haa tahay, markaas qiimihii waa la soo celinayaa. run, waxaana loofuliyaa si waafaqsan. Qiimaha waxaa lagu kordhiyey hal.

Dib-u-eegistii ugu horreysay ka dib, qiimaha doorsoomuhu wuxuu noqonayaa 1. Jeeg ayaa la sameeyaa, barnaamijkuna wuxuu fahamsan yahay in lambarkani uu mar kale ka yar yahay 5. Sidaas awgeed, wareegga wareegga ayaa la fuliyay mar labaad. Mar haddii tillaabooyinka ay isku mid yihiin, qiimaha sidoo kale waxaa lagu kordhiyey hal, doorsoomuhu hadda wuxuu la mid yahay 2.

Qiimahani waxa kale oo uu ka yar yahay shan. Kadibna loop-ku waa la fuliyay mar saddexaad, oo lagu daray doorsoomiyaha i 1 waxaana loo qoondeeyay qiimaha 3. Tani waxay mar kale ka yar tahay shan. Oo sidaas daraaddeed waxay timaaddaa wareegga lixaad ee wareegga, kaas oo qiimaha doorsoomuhu i waxay la mid tahay 5 (ka dib oo dhan, waxay ahayd asal ahaan eber, inta aan xasuusaneyno). Sidaa darteed, xaaladdani kama gudbiso imtixaanka, wareegtada si toos ah ayaa loo joojiyaa oo u gudubka tallaabada xigta, taas oo ka baxsan (ama joojinta barnaamijka, haddii tallaabooyinka soo socda aan la bixin), ayaa la sameeyaa.

Wareeggu wuxuu sidoo kale ku dhici karaa jihada ka soo horjeeda. Halkan waxaa ah tusaale kood ah, iyadoo ku celcelin kasta oo xiga, mid laga jarayo qiimaha hadda ee doorsoomaha. 

wadarta = 100 

halka wadarta guud > 0:

    n = int ( gelin ())

    wadarta = wadarta - n 

daabac ("Ilaha wuu dhammaaday")

Isku day inaad qiyaasto waxa uu barnaamijkani qabanayo! Bal qiyaas taas doorsoomayaal total macluumaadka ku saabsan ilaha barnaamijka waa la kaydiyaa. Mar kasta oo turjumaanku eego in agabku jiro iyo in kale. Haddaysan ahayn, markaa qoraalka "Khayraadka daalan" ayaa la soo bandhigay oo barnaamijku wuu xidhmayaa. Iyo dib-u-eegis kasta oo wareeg ah, kheyraadku wuxuu ku yaraanayaa lambarka uu isticmaalo isticmaaluhu.

Oo hadda shaqada guriga. Isku day inaad beddesho koodka sare si doorsoomuhu jidh ahaan u noqon mid taban. 

3 Comments

  1. si code ahaan usoo gudbi

Leave a Reply