yayin da ake yin madauki a cikin Python. Yadda yake aiki, misalai na amfani

madaukai ɗaya ne daga cikin manyan kayan aikin kowane harshe. Akwai madaukai na asali guda biyu a cikin Python, ɗaya daga cikinsu shine yayin. Yi la'akari da shi, da kuma don ƙarin fahimtar hoton, ɗaya. Hakika, idan aka kwatanta da wani abu makamancin haka, yana da sauƙin fahimtar kowane abu, ko ba haka ba?

Ma'anar zagayowar

Ana buƙatar madauki lokacin da ake buƙatar yin wani aiki sau da yawa. Wannan abu ne mai sauqi qwarai, domin a zahiri kewayon aikace-aikace don hawan keke ya fi fadi. Akwai manyan madaukai guda biyu a cikin Python: na lokaci da lokacin. Mafi mashahuri shine don.

Baya ga takamaiman ayyuka, zaku iya madauki guda daban-daban na lamba har zuwa wani batu. Wannan na iya zama takamaiman adadin lokuta, ko kuma idan dai wani yanayi na gaskiya ne.

Kafin mu fara fahimtar nau'ikan madaukai kuma yayin da, musamman, har yanzu muna buƙatar fahimtar menene iteration. Wannan shine maimaitawa ɗaya na aiki ko jerin ayyuka yayin zagayowar yanzu a cikin aikace-aikacen da ake aiwatarwa na yanzu.

Zagayowar Domin

Our For madauki ba counter, kamar yadda a cikin sauran harsuna. Ayyukansa shine ƙididdige wasu jerin dabi'u. Menene ma'anar wannan? Bari mu ce muna da jerin abubuwa. Na farko, madauki yana ɗaukar na farko, na biyu, na uku, da sauransu.

Amfanin wannan madauki a Python shine cewa ba kwa buƙatar tantance fihirisar sigar don sanin lokacin da za ku fita madauki. Za a yi komai ta atomatik.

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

>>> ga element a spisok:

… bugu (kayan abu + 2)

...

12

42

22

32

A cikin misalinmu, mun yi amfani da m kashi bayan umarni. Gabaɗaya, sunan zai iya zama wani abu. Misali, sanannen suna shine i. Kuma tare da kowane juzu'i, wannan canjin za a sanya wani takamaiman abu daga jerin, wanda muka kira kalmar da ta dace.

A cikin yanayinmu, jeri ne jerin lambobi 10,40,20,30. A kowane juzu'i, ƙimar da ta dace tana bayyana a cikin ma'auni. Misali, da zaran madauki ya fara, mai canzawa kashi an sanya darajar 10. A karo na gaba, goman ya juya zuwa lamba 40, a karo na uku ya juya zuwa lamba 20, kuma a ƙarshe, a ƙarshen madauki, ya juya zuwa 30.

Alamar ƙarshen zagayowar ita ce ƙarshen abubuwan da ke cikin jerin.

Idan kuna buƙatar madauki don yin ƙidayar ƙididdiga ta al'ada, kamar yadda a cikin wasu yarukan shirye-shirye, yakamata ku ƙirƙiri jeri tare da jerin lambobi na halitta har zuwa ƙimar da muke buƙata.

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

Ko amfani da aikin len(), don sanin tsawon jerin sunayen. Amma a wannan yanayin yana da kyau a yi amfani da madauki yayin, saboda babu buƙatar amfani da ma'auni.

Idan kana buƙatar canza jerin dabi'u a cikin lissafin, madauki domin kuma a nan ya zo don ceto. Don yin wannan, a kowane juzu'i, kowane kashi na lissafin dole ne a sanya ƙimar da ta dace.

Duk da yake Madauki

Sabanin zagayowar domin, wanda kawai ke ƙididdige ƙimar jeri, madauki yayin da yana da ƙarin amfani. Sunan wannan nau'in zagayowar ana fassara shi da " tukuna". Wato "har".

Wannan madauki ne na duniya wanda ake samu a duk yarukan shirye-shirye. Kuma a wasu hanyoyi yana kama da ma'aikacin sharadi yau, wanda ke yin bincike don ganin ko an cika wani sharadi. Sai kawai akasin ma'aikacin sharadi, yayin da yana yin cak a kowane lokaci, ba sau ɗaya kawai ba. Kuma kawai idan yanayin karya ne, madauki ya ƙare kuma an aiwatar da umarnin da ke biye da shi. A cikin kalmomi masu sauƙi, idan yanayin da yake aiki ba shi da inganci.

Idan muka zana zagayowar yayin da a sauƙaƙe, ana yin wannan ta amfani da irin wannan makirci.yayin da ake yin madauki a cikin Python. Yadda yake aiki, misalai na amfani

Babban reshe na shirin (wanda ke gudana a waje da madauki) an nuna shi a cikin wannan adadi tare da blue rectangles. Turquoise yana wakiltar jikin sake zagayowar. Bi da bi, rhombus wani yanayi ne da ake bincika kowane lokaci.

Tsarin yayin da zai iya haifar da keɓancewa guda biyu:

  1. Idan a farkon madauki kalmar ma'ana ba ta dawo da gaskiya ba, to kawai ba ta fara ba, bayan kammalawa kafin aiwatarwa. Gabaɗaya, wannan yanayin yana da al'ada, saboda a ƙarƙashin wasu yanayi, aikace-aikacen bazai samar da kasancewar maganganu a cikin madauki ba.
  2. Idan magana koyaushe gaskiya ce, wannan na iya haifar da madauki. Wato zuwa gungurawa mara iyaka na zagayowar. Don haka, a cikin irin waɗannan shirye-shiryen, ya kamata koyaushe a kasance da bayanin fita daga madauki ko shirin. Koyaya, wannan yanayin zai taso idan shirin ya iya tantance gaskiya ko karyar wani yanayi. Idan ta kasa yin haka, to an dawo da kuskure tare da ƙarewar shirin. Ko za ku iya magance kuskuren, sannan, idan ya faru, za a aiwatar da wasu code.

Za a iya samun adadi mai yawa na zaɓuɓɓuka don yadda ake magance kuskure. Misali, shirin na iya tambayar mai amfani don shigar da bayanai daidai. Don haka, idan mutum ya nuna mummunan lamba inda zai iya zama tabbatacce, ko kuma ya shigar da haruffa inda lambobi kawai ya kamata, shirin zai iya faɗi game da shi.

Yayin Misalai na Loop

Anan akwai misalin lambar da ke sarrafa kuskure a wannan yanayin.

n = shigarwa ("Shigar da lamba:") 

yayin rubuta (n)! = int:

    Gwada:

        n = int (n)

    sai ueimar Kuskure:

        buga ("Shigar da ba daidai ba!")

        n = shigarwa ("Shigar da lamba:") 

idan n % 2 == 0:

    buga ("Ko da")

wani:

    buga ("Odd")

Ka tuna cewa Python yana amfani da colons don ayyana ƙaƙƙarfan ginin code.

A cikin lambar da ke sama, mun bayyana a matsayin yanayin da ya kamata mu bincika idan lambar lamba ce. Idan eh, to karya ta dawo. Idan ba haka ba, to gaskiya ne.

A cikin kashi na biyu na lambar, inda ake amfani da mai aiki if, Mun yi amfani da % afareta don nemo sauran bayan aikin rabo. Mataki na gaba shine duba ko lambar ta kasance ma. Idan ba haka ba, to saura daya ne a wannan yanayin. Saboda haka, lambar ba ta da kyau. 

A cikin sassauƙan kalmomi, lambar da ke sama ta fara bincika idan igiyar da mai amfani ya shigar lamba ce. Idan eh, to, a yi rajista na biyu don ganin ko akwai ragowar rabon biyu. Amma bulogi na biyu ba za a aiwatar da shi ba har sai ƙimar da mai amfani ya shigar ta lamba ce.

Wato, za a aiwatar da madauki akai-akai har sai yanayin ya faru. A wannan yanayin, yana aiki kamar haka. 

Wato, zaku iya tafiya daga akasin haka: madauki wani aiki har sai abin ya zama ƙarya.

Ƙididdigar lamba

Yanzu bari mu ga dalla-dalla yadda wannan lambar ke aiki. Don yin wannan, za mu bincika shi mataki-mataki.

  1. Da farko, mai amfani yana shigar da kirtani, wanda mai canjin n. 
  2. Amfani da madauki yayin da ana duba nau'in wannan canjin. A farkon shigarwa, ba daidai ba ne int. Saboda haka, sakamakon gwajin, an gano cewa wannan yanayin gaskiya ne. Saboda haka, jikin madauki ya shiga.
  3. Tare da taimakon mai aiki kokarin muna ƙoƙarin musanya kirtani zuwa lamba. Idan aka yi haka, to babu kuskure. Saboda haka, babu buƙatar sarrafa shi. Sabili da haka, mai fassara ya dawo zuwa farkon madauki, kuma bisa ga sakamakon binciken, ya nuna cewa ya zama lamba. Don haka bari mu tafi mataki na 7
  4. Idan jujjuyawar bai yi nasara ba, to ana jefa Kuskuren Ƙimar. A wannan yanayin, ana aika kwararar shirin zuwa mai sarrafa sai dai.
  5. Mai amfani yana shigar da sabon ƙima, wanda aka sanya shi zuwa madaidaicin n.
  6. Mai fassara ya dawo mataki na 2 ya sake dubawa. Idan ƙimar lamba ce, je zuwa mataki na 7. Idan ba haka ba, ana sake ƙoƙarin juyawa bisa ga mataki na 3.
  7. Tare da taimakon mai aiki if Yana ƙayyade idan akwai saura bayan raba lamba da 2. 
  8. Idan ba haka ba, ana mayar da rubutun “ko da”.
  9. Idan ba haka ba, ana mayar da rubutun “m”.

Yi la'akari da irin wannan misalin yanzu. Yi ƙoƙarin tantance sau nawa wannan zagayowar za ta gudana?

jimla = 100 

i = 0

yayin da i <5:

    n = int (shigarwa())

    jimla = jimla - n

    ina = ina + 1 

bugawa ("Sauran", duka)

Amsar daidai ita ce 5. Da farko, ƙimar ma'auni i – sifili. Mai fassarar yana duba idan mai canzawa yayi daidai i 4 ko kasa da haka. Idan eh, to ana mayar da ƙimar. gaskiya, kuma ana aiwatar da madauki daidai. Ana ƙara ƙimar da ɗaya.

Bayan maimaitawar farko, ƙimar ma'aunin ya zama 1. Ana yin rajistan, kuma shirin ya fahimci cewa wannan lambar ta sake ƙasa da 5. Saboda haka, ana aiwatar da madauki a karo na biyu. Tun da matakan sun yi kama da juna, ƙimar kuma tana ƙaruwa da ɗaya, kuma madaidaicin yanzu ya yi daidai da 2.

Wannan darajar kuma ba ta wuce biyar ba. Sa'an nan kuma ana aiwatar da madauki a karo na uku, an ƙara shi zuwa mai canzawa i 1 kuma an sanya darajar 3. Wannan kuma bai wuce biyar ba. Don haka ya zo ga maimaita na shida na madauki, wanda darajar ma'auni i yayi daidai da 5 (bayan duka, asalinsa sifili ne, gwargwadon yadda muke tunawa). Sabili da haka, wannan yanayin ba zai wuce gwajin ba, kuma an dakatar da madauki ta atomatik kuma an canza shi zuwa mataki na gaba, wanda ke waje da shi (ko dakatar da shirin, idan ba a samar da matakai masu zuwa ba).

Hakanan zagayowar na iya faruwa a kishiyar shugabanci. Anan akwai misalin lambar inda, tare da kowane maimaitawa na gaba, ana cire ɗaya daga ƙimar canjin yanzu. 

jimla = 100 

yayin jimlar> 0:

    n = int (shigarwa())

    jimla = jimla - n 

buga ("Ayyukan sun ƙare")

Gwada tunanin abin da wannan shirin yake yi! Ka yi tunanin cewa a cikin wani m Total ana adana bayanai game da albarkatun shirin. Duk lokacin da mai fassara ya duba ko akwai albarkatun. Idan ba haka ba, to rubutun "Resource exhausted" yana nunawa kuma shirin yana rufe. Kuma tare da kowace madauki na madauki, albarkatun suna raguwa ta lambar da mai amfani ya ƙayyade.

Kuma yanzu aikin gida. Gwada canza lambar da ke sama ta yadda mai canjin ba zai iya zama mara kyau a zahiri ba. 

3 Comments

  1. si code ahaan usoo gudbi

Leave a Reply