dema ku di Python de diqewimin. Çawa dixebite, mînakên karanînê

Loop yek ji amûrên sereke yên her zimanî ne. Di Python de du xelekên bingehîn hene, yek ji wan dema ye. Bifikirin, û her weha ji bo têgihiştinek çêtir a wêneyê, yek din. Bi rastî, li gorî tiştek wekhev, fêmkirina her materyalê pir hêsantir e, ne wusa?

Têgeha çerxa

Dema ku çalakiyek diyarkirî pêdivî ye ku gelek caran were kirin, pêlekek pêdivî ye. Ev pir sade ye, ji ber ku di rastiyê de rêza serîlêdanên ji bo çerxên pir berfirehtir e. Di Python de du celebên sereke hene: ji bo û dema. Ya herî populer ji bo ye.

Ji bilî çalakiyên taybetî, hûn dikarin perçeyên cûda yên kodê heya xalek diyarkirî bişopînin. Ev dikare çend carî be, an heya ku rewşek taybetî rast e.

Berî ku em dest bi têgihiştina celebên loopan bikin û dema ku, bi taybetî, divê em hîn jî fam bikin ka dubarekirin çi ye. Ev yek dubarekirina kiryarek an rêzek çalakiyan e di dema çerxa heyî de di nav xebitandina serîlêdana heyî de.

Cycle For

Loopa me ya For ne jimarek e, wekî di gelek zimanên din de. Erka wê jimartina rêzek nirxan e. Ev tê çi wateyê? Ka em bêjin navnîşek hêmanan heye. Ya yekem, loop yekem, duyemîn, sêyemîn, û hwd digire.

Feydeya vê lûkê ya di Python de ev e ku hûn ne hewce ne ku îndeksa hêmanê diyar bikin da ku hûn zanibin kengê ji lûkê derkeve. Her tişt dê bixweber were kirin.

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

>>> ji bo elementa di spisok de:

… çapkirin (hêman + 2)

...

12

42

22

32

Di mînaka xwe de, me guhêrbar bikar anî pêve piştî fermana for. Bi gelemperî, nav dikare her tişt be. Mînakî, navnîşek populer i ye. Û bi her dubarekirinê re, ev guhêrbar dê ji navnîşê tiştek taybetî were veqetandin, ku me jê re peyva guncav digot.

Di rewşa me de, navnîş rêzek hejmarên 10,40,20,30 e. Di her dubarekirinê de, nirxa têkildar di guhêrbar de xuya dike. Mînakî, gava ku lûp dest pê dike, guhêrbar pêve nirxa 10 tê destnîşankirin. Di dubarekirina paşîn de, deh vediguhere hejmara 40, cara sêyemîn dibe hejmara 20, û di dawiyê de, di dubarekirina paşîn a lûkê de, ew dibe 30.

Nîşana dawiya çerxê dawiya hêmanên di lîsteyê de ye.

Ger ji we re lazim e ku hûn hejmartinek klasîk a nirxan pêk bînin, wekî di zimanên din ên bernamesaziyê de, divê hûn navnîşek bi rêzek hejmarên xwezayî heya nirxa ku em hewce ne biafirînin.

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

An jî fonksiyonê bikar bînin len (), ji bo diyarkirina dirêjahiya lîsteyê. Lê di vê rewşê de çêtir e ku meriv pêçek bikar bîne demek, ji ber ku ne hewce ye ku guhêrbar bikar bînin.

Heke hûn hewce ne ku rêza nirxan di navnîşê de biguhezînin, bişopînin bo û li vir tê rizgariyê. Ji bo vê yekê, di her dubarekirinê de, divê her elementek navnîşê nirxek guncan were destnîşan kirin.

Gava Loop

Berevajî çerxê bo, ku bi tenê li ser nirxên rêzikê, lûkê dubare dike demek bêtir bikaranîn hene. Navê vê cureyê çerxên wekî "hê" tê wergerandin. Yanî "heta".

Ev xelekek gerdûnî ye ku di hemî zimanên bernamesaziyê de tê dîtin. Û bi hinek awayan ew dişibe operatorek şert yew, ku kontrolê dike da ku bibîne ka şertek diyar pêk tê. Tenê berevajî operatorê şertî, demek kontrolê di her dubarekirinê de, ne tenê carekê, dike. Û tenê heke şert xelet be, lûp bi dawî dibe û fermana ku li pey wê tê pêkanîn. Bi gotinên hêsan, heke rewşa ku ew tê de dixebite êdî ne derbasdar e.

Ger em çerxekê xêz bikin demek bi hêsanî, ev bi karanîna nexşeyek wusa tête kirin.dema ku di Python de diqewimin. Çawa dixebite, mînakên karanînê

Şaxa sereke ya bernameyê (ya ku li derveyî lûkê dimeşe) di vê jimarê de bi çargoşeyên şîn tê xuyang kirin. Turquoise bedena çerxê temsîl dike. Di encamê de, rombus rewşek e ku di her dubarekirinê de tê kontrol kirin.

Zîvirok demek dikare di du îstîsnayan de encam bide:

  1. Ger di destpêka lûkê de îfadeya mentiqî rast venegere, wê hingê ew bi hêsanî dest pê nake, ku berî darvekirinê qediya. Bi gelemperî, ev rewş normal e, ji ber ku di bin hin mercan de, serîlêdan dibe ku hebûna îfadeyan di laşê lûkê de peyda neke.
  2. Ger îfade her gav rast be, ev dikare bibe sedema lûleyekê. Ango berbi geroka bêdawî ya çerxê. Ji ber vê yekê, di bernameyên weha de, divê her gav daxuyaniyeka derketinê ya ji lûkê an bernameyê hebe. Lêbelê, ev rewş dê derkeve holê heke bername karibe rast an nerastiya şertek taybetî diyar bike. Ger wê nekaribe vê yekê bike, wê hingê bi bidawîbûna bernameyê re xeletiyek vedigere. An jî hûn dikarin xeletiyê bikin, û dûv re, heke ew çêbibe, hin kod dê bêne darve kirin.

Dibe ku hejmareke mezin vebijarkan hebe ku meriv çawa xeletiyek bi rê ve bibe. Mînakî, dibe ku bername ji bikarhêner bipirse ku daneyan rast binivîse. Ji ber vê yekê, heke kesek jimareyek neyînî destnîşan kir ku ew tenê dikare erênî be, an tîpên ku divê tenê hejmar lê bin, bername dikare li ser wê bêje.

Dema ku Nimûneyên Loop

Li vir mînakek kodek heye ku di vê rewşê de xeletiyek dike.

n = têketin ("Hejmarek tevde binivîse:") 

dema ku tîp(n) != int:

    Cerribanî:

        n = int(n)

    ji xeynî Xeletiya Nirxê:

        çapkirin ("Têketin xelet!")

        n = têketin ("Hejmarek tevde binivîse:") 

heke n % 2 == 0:

    çapkirin ("Heta")

wekîdi:

    çapkirin ("Cont")

Bînin bîra xwe ku Python kolonan bikar tîne da ku avakirina kodên tevlihev eşkere bike.

Di koda li jor de, me wekî şertek diyar kir ku divê em kontrol bikin ka jimar hejmareke yekjimar e. Ger erê, wê hingê derew tê vegerandin. Heke ne, hingê rast e.

Di beşa duyemîn a kodê de, ku operator tê bikar anîn if, me operatora % bikar anî da ku mayî piştî operasyona dabeşkirinê bibîne. Pêngava paşîn ev e ku meriv kontrol bike ka hejmar hetta ye. Heke ne, hingê mayî di vê rewşê de yek e. Li gorî vê, hejmar xerîb e. 

Bi gotinên hêsan, koda jorîn pêşî kontrol dike ka rêzika ku ji hêla bikarhêner ve hatî navnîş kirin hejmarek e. Ger erê, wê hingê vekolînek duyemîn tê kirin da ku were dîtin ka mayî ya dabeşkirina duyan heye. Lê bloka duyemîn dê neyê darve kirin heya ku nirxa ku ji hêla bikarhêner ve hatî navnîş kirin hejmar be.

Ango heya ku rewş çêbibe dê lûp bi rêkûpêk were darve kirin. Di vê rewşê de, ew bi vî rengî dixebite. 

Ango, hûn dikarin ji berevajî vê yekê biçin: çalakiyek diyar bikin heya ku bûyer derewîn bibe.

Parskirina kodê

Naha em bi hûrgulî bibînin ka ev kod çawa dixebite. Ji bo vê yekê, em ê gav bi gav analîz bikin.

  1. Pêşîn, bikarhêner têxe rêzek, ku ji hêla guhêrbar n ve tê pejirandin. 
  2. Bi kar tînin loop demek cureyê vê guherbarê tê kontrol kirin. Di navnîşa yekem de, ew ne wekhev e int. Ji ber vê yekê, di encama testê de, tê dîtin ku ev rewş rast e. Ji ber vê yekê, laşê loop têkevin.
  3. Bi alîkariya operator cerribanî em hewl didin ku rêzek veguherînin hejmarek. Ger ev were kirin, wê hingê xeletiyek çênabe. Li gorî vê yekê, pêdivî bi pêvajoyek tune. Ji ber vê yekê, wergêr vedigere destpêka xelekê, û li gorî encamên kontrolê, derdikeve ku ew bûye jimarek tev. Ji ber vê yekê em herin gav 7
  4. Ger veguhertin neserketî bû, wê hingê ValueError tê avêtin. Di vê rewşê de, herikîna bernameyê ji hilgirê ji bilî ve tê şandin.
  5. Bikarhêner nirxek nû dike, ku ji guhêrbar n re tê destnîşankirin.
  6. Wergêr vedigere gava 2 û dîsa kontrol dike. Ger ew nirxek yekjimar be, biçin gav 7. Heke ne wusa be, veguhertin li gorî gava 3 dîsa tê ceribandin.
  7. Bi alîkariya operator if Tesbît dike ku piştî dabeşkirina jimarekê li 2-yê mayî heye yan na. 
  8. Heke na, nivîsa "heta" tê vegerandin.
  9. Heke na, nivîsa "cûd" tê vegerandin.

Niha mînakek weha bifikirin. Biceribînin ku hûn diyar bikin ka dê ev çerx çend caran derbas bibe?

gişt = 100 

ez = 0

dema ku ez <5:

    n = int(input())

    tev = tevde - n

    i = i + 1 

çapkirin ("Çalakî", tev)

Bersiva rast e 5. Di destpêkê de, nirxa guhêrbar i - sifir. Wergêr kontrol dike ka guherbar wekhev e i 4 an kêmtir. Ger erê, wê hingê nirx tê vegerandin. rast, û loop li gorî vê yekê tête kirin. Nirx bi yek zêde dibe.

Piştî dubarekirina yekem, nirxa guhêrbar dibe 1. Kontrolek tê kirin û bername têdigihîje ku ev hejmar dîsa ji 5-an kêmtir e. Li gorî vê yekê, laşê lûkê ji bo cara duyemîn tê darve kirin. Ji ber ku gav dişibin hev, nirx jî bi yek zêde dibe, û guhêrbar naha wekî 2 ye.

Ev nirx jî ji pêncan kêmtir e. Dûv re xelek cara sêyem tê darve kirin, li guhêrbar tê zêdekirin i 1 û nirxa 3 tê dayîn. Ev dîsa ji pênc kêmtir e. Û bi vî awayî ew tê ser dubarekirina şeşemîn a lûkê, ku tê de nirxa guhêrbar i dibe 5 (piştî her tiştî, ew bi eslê xwe sifir bû, bi qasî ku tê bîra me). Li gorî vê yekê, ev rewş ceribandinê derbas nake, û lûp bixweber tê qedandin û veguheztina qonaxa paşîn, ya ku li derveyî wê ye (an bidawîbûna bernameyê, heke gavên jêrîn neyên peyda kirin) pêk tê.

Çêlek jî dikare berevajî vê yekê çêbibe. Li vir mînakek kodê ye ku, bi her dubarekirina paşîn re, yek ji nirxa heyî ya guhêrbar tê derxistin. 

gişt = 100 

dema ku bi tevahî > 0:

    n = int(input())

    tev = tevde - n 

çapkirin ("Çavkanî qediya")

Biceribînin ku hûn texmîn bikin ka ev bername çi dike! Bifikirin ku di variable hemî agahdariya li ser çavkaniya bernameyê tê hilanîn. Her carê wergêr kontrol dike ka çavkanî heye. Ger na, wê hingê nivîsa "Çavkanî westiyaye" tê xuyang kirin û bername diqede. Û bi her dubarekirina lûkê re, çavkanî bi hejmara ku bikarhêner diyar dike kêm dibe.

Û niha karê malê. Biceribînin ku koda jorîn biguhezînin da ku guhêrbar bi fîzîkî negatîf bibe. 

4 Comments

  1. si kod ahaan usoo gudbi

Leave a Reply