Mga computerProgramming

Python programming language: loops

Ang Python programming language (bilang "Python" o "Python") Mayroong ilang mga paraan upang loop ng ilang pagkilos. Ang pangunahing mga kasangkapan para sa pagpapatupad ng anumang pag-ulit sa Python - habang loop at para sa. Ang habang loop ay mas unibersal kaysa para sa, kaya ito ay mas mabagal. Gayunpaman, ito ay hindi nangangahulugan na ito ay mas mahusay! Ang para sa loop ay ginagamit mas madalas, dahil sa mga ito natanto ang pinakamahirap na gawain para sa paglikha ng mga multi-level at mnogouslovnyh programa.

Python: cycle na may postcondition

Cycle na may postcondition - ito loops habang, na kung saan ay ang pinaka-unibersal na organisasyon istruktura sa programming kapaligiran. Ang habang loop nagpapatakbo sa prinsipyo ng "basta". Ang ibig sabihin nito ang mga sumusunod: habang ang isang tiyak na kalagayan ay babalik ng isang tunay na halaga, ito ay gumagana! Disenyo na ito ay tinatawag na isang "cycle" dahil ang functional pamamahala ng cyclically paulit-ulit, na nagsisimula sa ang paunang halaga. Out sa ikot habang Python ipinatupad sa panahon kapag ang halaga ay magiging totoo. Sa puntong ito, ang mga interpreter nagpapadala ng programa sa mga sumusunod na functional-semantic segment, ibig sabihin, isang bagong linya, na kung saan ay matatagpuan pagkatapos ng block na may postcondition sandali.

Sa programming wika, Python cycles habang postcondition magkaroon ng mga sumusunod na syntax:

1. Habang (kalagayan):

2. expression

Expression ay maaaring maging alinman sa isang solong pahayag o ilang. Ang kalagayan ay palaging isang tunay na kabuluhan ng anumang hindi-zero. disenyo na ito ay gumagana hangga't ang mga tinukoy na kondisyon ay totoo.

Paggamit ng ikot habang nasa "Python" halimbawa

Rassmotirim habang loop. Python ay lubos na kagiliw-giliw na mga istraktura iteration nito:

a = 0
habang ang isang <7:
print ( "A")
a = a + 1

Kami ay ipinahayag ang mga variable na "a" at nagtanong sa kanya sa zero. Pagkatapos ay itakda ang mga kondisyon "habang ang isang <7", iyon ay, habang ang mga variable na "a" ay mas mababa sa numerong "7", pagkatapos ay ang aming mga loop ay pinaandar hangga't mayroong ay hindi totoo.

Ang marayang (iyon ay, ay lumabas mula sa cycle) ito ay kapag ang mga variable ay mas malaki sa dami "7". Para ito mangyari, ito ay sa bawat oras na incremented ng 1, na nagpapahiwatig natin sa "isang = a + 1".

Kung patakbuhin mo ang konstruksiyon, ang titik "A" ay ipapakita 7 beses sa isang haligi!

A
A
A
A
A
A
A

Walang katapusang loop habang sa Python

Paano gumawa ng isang walang katapusang loop sa Python habang? Hulaan hindi mahirap, dahil ang cycle ay tumatakbo hanggang hanggang natatanggap nito ng maling halaga, at kung ang halaga na ito ay para lang hindi doon? Ang sagot sa tanong ay marahil na kaya lahat ng bagay ay malinaw. Sa ilang mga kaso, ang isang walang-katapusang loop ay kinakailangan upang malutas ang isang problema? Ang halimbawang ito ay magsisilbing isang pagsasakatuparan ng tulad ng isang programa, bilang isang "orasan." Dito, siyempre, kailangan mong gumamit ng isang walang-katapusang loop, na kung saan ay permanenteng na-update at ipakita ang oras.

Walang-hanggan loop ay madalas na isang pagkakamali baguhan programmer na kalimutan na magdagdag ng isang pagbabago cycle kondisyon.

Tingnan natin ang isang pagtingin sa mga sumusunod na piraso ng Python code. Ang mga cycles sa kasong ito iterated walang katiyakan (pagkatapos ng "#" karakter ay isang komento):

number = 1 # ipinapahayag sa isang variable na bilang at italaga ito ang halaga ng 1

habang number <10: # lumikha ng postcondition, na kung saan pagbilang ng mas mababa sa 10

print 'Kamusta' # kondisyon (print «Kamusta» mensahe)

Ang nasabing programa ay hindi dapat magmadali upang ipunin, dahil tatakbo ito nang walang hangganan. Tinanong namin ang nasabing kondisyon na hindi kailanman ay magiging false halaga kundisyon «number <10" sa kasong ito at palaging totoo, kaya ang pag-ulit ay patuloy na nagdadala N-th bilang ng "Hello" mensahe. Upang itigil ang proseso ng kino-compile ang walang hanggan, kailangan mong pindutin ang key na kumbinasyon Ctrl + C sa shell.

Python: syntax. Habang, at para sa loop

Tulad ng nabanggit sa itaas, sa wika ng mga "Python" programming, may ilang mga paraan upang ayusin ang isang umuulit na grupo expression. Ito ay dumating sa ang iligtas loop para sa, kung saan ay isang bit naiiba mula sa kanyang kapilas habang, dahil ang disenyo ay ng kaunti pa kumplikado kaysa sa lamang postcondition. hayaan ay hindi makipag-usap tungkol sa pagiging pandaigdigan ng ikot, dahil ito lamang ay hindi, gayunman, ay mapapansin na ang para sa loop ay lubhang mas mabilis kaysa sa isang habang. Ang isang iba't ibang mga paraan upang malutas ang disenyo at pagganap ng maliit na outperform cycle na may postcondition, kaya ito ay mas malamang na gamitin upang maisagawa ang maraming mga trivia gawain.

Ano ang mga hamon nakaharap ang cycle para sa? Walang pagsala, ang parehong bilang na ng habang - umulit anumang proseso. Ang programa ng mga tala na ginawa sa ang "sawa", ay malawakang ginagamit loop para sa, na kung saan ay may kakayahang pagpapatupad traversal paunang-natukoy na mayorya ng mga elemento at upang maisagawa sa iba't-ibang body iterating sa paglipas ng mga ito. Mga Tampok ng disenyo na ito ay maaaring magamit sa pagpoproseso ng mga linya o mga listahan tulad ng anumang iba pang mga bagay iterated.

Halimbawa ng paggamit para sa cycle sa Python

Sabihin nating mayroon kaming ilang listahan ng mga numero, at kailangan namin ang bawat elemento (ie. E. Number) nadagdagan ng tatlong units. Upang ipatupad tulad ng isang gawain ng aming makakaya sa pamamagitan ng mga loop, para sa loop pamamaraan.

Tingnan natin ang isang mabilis na halimbawa, kung saan kami ay isagawa ang mga naaangkop na pagkilos para ito (pagkatapos ng "#" karakter ay isang komento) Let:

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # ipinahayag array na naglalaman ng 10 mga numero

count = 0 # nilikha counter na may mga zero

para sa mga elemento sa spisok_chisel: # umulit sa ibabaw ng array at aking isusulat sa mga elemento

spisok_chisel [count] = elemento + # 3 number pagtaas ng hanay ng mga tatlong

count = count +1 # pumunta sa susunod na numero sa index

Ang resulta ng mga nasa itaas konstruksiyon ay magiging:

spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98]

Sa aming halimbawa, mayroong isang variable count, na kung saan kailangan namin upang ipagdiwang ang pagbabago ng mga halaga sa array «spisok_chisel». Ang variable count ay naitala ng isang index na halaga ng bawat elemento sa array (bawat numero sa listahan). Variable «elemento»-uugnay ang mga nagresultang halaga sa listahan. Sa para sa loop, nakikita natin kung paano ipatupad ang processing ng bawat bagay sa de-numerong listahan. Sa loob ng loop, ang bawat numerong object na may index «count» idinagdag sa halaga ng kasalukuyang iterated elemento at tatlo. Pagkatapos aming index «bilangin» nadagdagan ng isa, at ang daloy ng pagpapatupad ng programa ay bumalik sa simula ng mga ad construction para sa. Kaya, ang mga loop ay tatakbo hanggang sa hanggang sa ito ay na-proseso sa bawat elemento sa array, na ibinigay ng kondisyon. Kung anumang elemento ay nawawala, ngunit ay naka-set sa pamamagitan ng mga kondisyon, ang cycle ay kumpleto na. gumuhit kami ng pansin sa isa pang bagay: kung hindi mo magsulat ng isang linya ng «count = bilangin + 1", sa kabila ng ang katunayan na ang isang array ng mga bagay matagumpay na naproseso, ang resulta ay palaging idinagdag sa unang numerical object index zero c.

Ngayon ay maaari naming isipin ang tungkol sa habang operasyon prinsipyo loop at makilala ang pagkakaiba (isipin na sa sawa sa labas ng cycle na may postcondition ay isinasagawa sa batayan ng lohikal na pamantayan - tunay na (ang patuloy na cycle) o mali (ang ikot hinto)).

Kung paano ituring ang isang string sa sawa gamit ang disenyo para sa?

Sa bawat programming language may mga cycles, at gumagana ang mga ito, karaniwan sa parehong prinsipyo, ang mga pagkakaiba sa nakikita lamang sa syntax. Gayunman, ang para sa loop sa wikang "Python" ay hindi isang ordinaryong at walang halaga, dahil ang prinsipyo ng operasyon nito ay hindi limitado sa mga counter. Disenyo na ito enumerates ang bawat item nang hiwalay. Ang lahat ng ito ay madaling ipinaliwanag sa pamamagitan ng mga halimbawa ng nagtatrabaho sa mga string, ngunit unang sabihin harapin ang mga bahagi ng ikot para sa:

para sa variable

Ito ay naka-imbak sa isang variable na cycle ng operasyon ng resulta

in peremennaya_2

key word «in» - ito ay isang paunang kinakailangan kapag nagtatrabaho na may «for» cycle. Mula peremennoy_2 hilahin namin ang halaga na ay iterated. Para sa kalinawan, at kalinawan, tingnan natin ang isang maliit na halimbawa ng kung paano upang gumana at upang pagbukud-bukurin ang mga string sa sawa:

char = 'programming' # ipinapahayag sa isang variable at magtalaga ng isang string na halaga

para slovo sa char: # Gumawa ng isang variable slovo, na kung saan ay patuloy busting mga code ng variable char

print (slovo, end = '^') # Output ng slovo at pagkatapos ng bawat titik, magpasok ng isang simbolo - isang ibon.

Ang resulta ng mga script:

P ^ p ^ o ^ r ^ r ^ a ^ m ^ m ^ ^ at p ^ o ^ a ^ a ^ n ^ at ^ e

patuloy na pahayag

operator patuloy ang pagpapatupad ng paglipat sa pagpapatupad ng susunod na ikot, na ibinigay sa pamamagitan ng mga kondisyon, nang walang kinalaman sa ang balanse ng mga loop. Gamitin ang mga patuloy na pahayag ay maaaring maging sa dalawang cycles - para sa at habang.

Isaalang-alang ang halimbawang ito:

para sa count sa 'ulitin bawat titik, maliban para sa'

kung count == 'o':

magpatuloy

print (count * 2, end = '')

Ang resulta nito ay ang mga sumusunod:

Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee

Kapag natagpuan ang handler ng isang sulat "o" sa string 'ulitin bawat titik, maliban para sa' ang pagpapatupad ng programa ay agad na ipapasa sa linya matapos ang salitang '' magpatuloy '', kung saan ang mga kondisyon ay nakatakda sa duplicate bawat titik.

break na pahayag

Keyword «pahinga» nakapasok sa lugar kung saan ang cycle ay maabala nang hindi na naghihintay para sa kanyang pagkumpleto, na kung saan ay ibinigay sa pamamagitan ng mga kondisyon. Disenyo na ito ay madalas na ginagamit kapag sumusulat ng mga programa na may maraming mga logic at kundisyon.

Isaalang-alang ng isang maliit na halimbawa ng mga trabaho pahinga na pahayag:

para sa count sa 'ulitin bawat titik, maliban para sa'

kung count == 'o':

pahinga

print (count * 2, end = '')

Ang resulta nito ay ang mga sumusunod:

nn

Kapag natagpuan ang handler ng isang sulat "o" sa string 'ulitin ang bawat titik maliban para sa' ang pagpapatupad ng programa ay agad na itinigil, sa kabila ng ang katunayan na ang susunod na linya ay naglalaman ng ilan sa mga kondisyon para sa cycle.

Ang magic word ng iba pa

Sa isang serye ng anumang uri ay maaaring ilapat ang operator ng iba pa. Ano ito para sa? Siya rin ang tseke na ay nakatuon sa labas ng loop ay nangangahulugan ng isang break o sa karaniwang paraan. Harangan ang may paunang-natukoy na mga panuntunan sa pagpapatupad ng iba pa magsisimula lamang kapag ang kondisyon na ang output ng ikot ay isinasagawa nang walang ang paggamit ng break na istraktura.

Isaalang-alang ng isang maliit na halimbawa:

para sa count sa 'hello world':

kung count == 'I':

pahinga

ibang tao:

print ( 'Ang iyong pangungusap Wala titik' ko '')

Ang output ng script:

Ang iyong pangungusap ay hindi ang titik "I"

Mga halimbawa ng mga cycles sa reverse pagkakasunud-sunod ng programming language Python

Bilang ipinatupad sa sawa reverse cycle? Ni isipin na ang pagsusulat ng isang programa na nangangailangan upang makilala ang character line at i-print ito sa reverse pagkakasunud-sunod Hayaan. Paano upang ipatupad ito?

Isaalang-alang ang halimbawa sa ibaba:

slovo = 'programming'

new_slovo = []

para sa count sa hanay ((s len), 0, -1):

new_slovo.append (s [i-1])

new_slovlo

[ 'P', 'p', 'o', 'g', 'p', 'isang', 'm', 'm', 'u', 'p', 'o', 'isang', ' isang ',' n ',' u ',' e ']

print (new_slovo)

[ 'P', 'p', 'o', 'g', 'p', 'isang', 'm', 'm', 'u', 'p', 'o', 'isang', ' isang ',' n ',' u ',' e ']

print ( ''. makasali (new_slovo))

Ang resulta ng mga script:

einavorimmargorp

nested loops

Sa mga sawa, may mga cycles ng programming at pamumuhunan, na ay nakalagay sa katawan ng isa pang din. Sa bawat cycle ay maaaring maging isang nakapugad loop, at sa gayon ito ay posible na bumuo ng isang hagdan sa kawalang-hanggan. Sa unang pag-ulit ng mga panlabas na loop ay iginuhit na may isang tawag sa inner loop, na kung saan ay pinaandar bago ang pagkumpleto ng kanyang sarili, at pagkatapos ay kontrolin ang lahat ng nai-redirect sa katawan ng mga panlabas na loop. Ang bawat wika ay may sariling mga katangian ng nested loops, tingnan natin kung paano gumagana sa "Python" programming language.

Kung gumagamit ka ng nested loops, Python ay nag-aalok ng mga sumusunod na syntax:

para sa mga variable sa pagkakasunod-sunod ng mga variable:

para sa mga variable sa pagkakasunod-sunod ng mga variable

action (s)

action (s)

Ang espesyal na tampok ng nested loops ay ang katotohanan na sa cycle ng anumang uri ay maaaring gamitin bilang anumang uri ng cycle! Nangangahulugan ito na sa isang cycle habang (o para sa) ay maaaring naka-embed sa isang cycle o muling sandali at vice versa.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tl.delachieve.com. Theme powered by WordPress.