fhad 'sa tha lùb ann am Python. Mar a tha e ag obair, eisimpleirean de chleachdadh

Is e lùban aon de na prìomh innealan ann an cànan sam bith. Tha dà lùb bunaiteach ann am Python, agus tha aon dhiubh fhad 'sa tha e. Beachdaich air, agus cuideachd airson tuigse nas fheàrr air an dealbh, aon eile. Gu dearbh, an taca ri rudeigin coltach ris, tha e tòrr nas fhasa stuth sam bith a thuigsinn, nach eil?

Bun-bheachd cearcall

Tha feum air lùb nuair a dh’ fheumar gnìomh sònraichte a dhèanamh iomadh uair. Tha seo gu math simplidh, oir ann an da-rìribh tha an raon de thagraidhean airson cearcallan mòran nas fharsainge. Tha dà phrìomh sheòrsa lùban ann am Python: airson agus greis. Tha an fheadhainn as mòr-chòrdte airson.

A bharrachd air gnìomhan sònraichte, faodaidh tu diofar phìosan còd a lùbadh suas gu puing sònraichte. Faodaidh seo a bhith grunn thursan, no fhad ‘s a tha suidheachadh sònraichte fìor.

Mus tòisich sinn a 'tuigsinn nan seòrsaichean lùban agus fhad' sa tha, gu sònraichte, feumaidh sinn fhathast a 'tuigsinn dè a th' ann an ath-aithris. Is e seo aon ath-aithris de ghnìomhachd no sreath de ghnìomhan rè a’ chearcall gnàthach taobh a-staigh ruith an tagraidh gnàthach.

Rothaireachd airson

Chan e cuntair a th’ ann an ar For loop, mar ann an iomadh cànan eile. Is e an obair aige sreath sònraichte de luachan àireamhachadh. Dè tha seo a' ciallachadh? Canaidh sinn gu bheil liosta de eileamaidean againn. An toiseach, bidh an lùb a 'toirt a' chiad, an dàrna, an treas, agus mar sin air adhart.

Is e buannachd an lùb seo ann am Python nach fheum thu clàr-amais na h-eileamaid a dhearbhadh gus fios a bhith agad cuin a dh'fhàgas tu an lùb. Thèid a h-uile càil a dhèanamh gu fèin-ghluasadach.

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

>>> airson eileamaid ann an spisok:

... clò-bhualadh (eileamaid + 2)

...

12

42

22

32

Anns an eisimpleir againn, chleachd sinn an caochladair eileamaid às deidh an àithne. San fharsaingeachd, faodaidh an t-ainm a bhith mar rud sam bith. Mar eisimpleir, is e sònrachadh mòr-chòrdte i. Agus le gach tionndadh, thèid nì sònraichte a thoirt don chaochladair seo bhon liosta, ris an can sinn am facal iomchaidh.

Anns a 'chùis againn, tha an liosta sreath de àireamhan 10,40,20,30. Aig gach tionndadh, tha an luach co-fhreagarrach a 'nochdadh anns a' chaochladair. Mar eisimpleir, cho luath ‘s a thòisicheas an lùb, an caochlaideach eileamaid tha an luach 10 air a shònrachadh. Air an ath chuairt, bidh na deich a 'tionndadh a-steach don àireamh 40, an treas uair a thionndaidheas e gu àireamh 20, agus mu dheireadh, air an tionndadh mu dheireadh den lùb, bidh e a' tionndadh gu 30.

Is e an comharra airson deireadh a 'chearcaill deireadh nan eileamaidean san liosta.

Ma tha feum agad air an lùb gus àireamhachd clasaigeach de luachan a dhèanamh, mar ann an cànanan prògramaidh eile, bu chòir dhut liosta a chruthachadh le sreath de àireamhan nàdarra suas ris an luach a tha a dhìth oirnn.

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

No cleachd an gnìomh leann(), gus fad an liosta a cho-dhùnadh. Ach anns a 'chùis seo tha e nas fheàrr lùb a chleachdadh fhad 'sa, oir chan eil feum air caochladair a chleachdadh.

Ma dh'fheumas tu an t-sreath luachan anns an liosta atharrachadh, lùb airson agus an seo thig e gu bhith na theasairginn. Gus seo a dhèanamh, aig gach tionndadh, feumar luach iomchaidh a thoirt do gach eileamaid den liosta.

Fhad 's a Loop

Eu-coltach ris a 'chearcall airson, a tha dìreach ag aithris thairis air luachan an t-sreath, an lùb fhad 'sa tha barrachd cleachdaidh aige. Tha ainm an seòrsa seo de chuairtean air eadar-theangachadh mar “fhathast”. Is e sin, “gus”.

Is e lùb uile-choitcheann a tha seo a lorgar anns a h-uile cànan prògramaidh. Agus ann an cuid de dhòighean tha e coltach ri gnìomhaiche cumhach iubhair, a nì sgrùdadh gus faicinn a bheil suidheachadh sònraichte air a choileanadh. A-mhàin an taca ris a 'ghnìomhaiche cumhach, fhad 'sa a’ dèanamh an t-seic aig gach tionndadh, chan ann dìreach aon turas. Agus dìreach ma tha an suidheachadh ceàrr, thig an lùb gu crìch agus thèid an àithne a leanas a chuir gu bàs. Ann am faclan sìmplidh, mura h-eil an suidheachadh anns a bheil e ag obair dligheach tuilleadh.

Ma tha sinn a 'tarraing cearcall fhad 'sa simplistically, tha seo air a dhèanamh a 'cleachdadh a leithid de sgeama.fhad 'sa tha lùb ann am Python. Mar a tha e ag obair, eisimpleirean de chleachdadh

Tha prìomh mheur a 'phrògraim (a tha a' ruith taobh a-muigh an lùb) air a shealltainn anns an fhigear seo le ceart-cheàrnach gorm. Tha turquoise a’ riochdachadh corp a’ chearcall. Ann an tionndadh, tha rhombus na chumha a thèid a sgrùdadh aig gach tionndadh.

Rothaireachd fhad 'sa faodaidh dà eisgeachd adhbhrachadh:

  1. Mura h-eil an abairt loidsigeach a 'tilleadh fìor aig toiseach an lùb, chan eil e dìreach a' tòiseachadh, an dèidh crìoch a chur air mus tèid a chur gu bàs. San fharsaingeachd, tha an suidheachadh seo àbhaisteach, oir ann an cuid de shuidheachaidhean, is dòcha nach bi an tagradh a ’solarachadh airson làthaireachd abairtean anns a’ bhodhaig lùb.
  2. Ma tha an abairt an-còmhnaidh fìor, faodaidh seo leantainn gu lùb. Is e sin, gu scrollaidh gun chrìoch den chearcall. Mar sin, ann am prògraman mar seo, bu chòir aithris fàgail a bhith ann bhon lùb no bhon phrògram. Ach, èiridh an suidheachadh seo nam biodh am prògram comasach air fìrinn no meallta suidheachadh sònraichte a dhearbhadh. Mura dèan i seo, thèid mearachd a thilleadh nuair a thig am prògram gu crìch. No faodaidh tu a’ mhearachd a làimhseachadh, agus an uairsin, ma thachras e, thèid còd sònraichte a chuir gu bàs.

Faodaidh àireamh mhòr de roghainnean a bhith ann airson mar a làimhsicheas tu mearachd. Mar eisimpleir, faodaidh am prògram iarraidh air an neach-cleachdaidh dàta a chuir a-steach gu ceart. Mar sin, ma chomharraich neach àireamh àicheil far nach urrainn dha a bhith ach deimhinneach, no ma chuir e a-steach litrichean far nach bu chòir ach àireamhan a bhith, faodaidh am prògram innse mu dheidhinn.

Fhad ‘s a tha eisimpleirean lùb

Seo eisimpleir de chòd a làimhsicheas mearachd sa chùis seo.

n = cuir a-steach ("Cuir a-steach an t-sloinneadh: ") 

fhad 'sa tha seòrsa(n) != int:

    Feuch:

        n = int(n)

    ach a-mhàin ValueError:

        clò ("Inntrig ceàrr!")

        n = cuir a-steach ("Cuir a-steach an t-sloinneadh: ") 

ma tha n % 2 == 0:

    clò (“ eadhon”)

eile:

    clò-bhualadh (“Còd”)

Cumaibh cuimhne gu bheil Python a’ cleachdadh colons gus togalaichean còd iom-fhillte fhoillseachadh.

Anns a 'chòd gu h-àrd, mhìnich sinn mar chumha gum bu chòir dhuinn dèanamh cinnteach a bheil an àireamh mar shlànaighear. Ma tha, thèid ceàrr a thilleadh. Mura h-eil, an uairsin fìor.

Anns an dàrna pàirt den chòd, far a bheil an gnìomhaiche air a chleachdadh if, chleachd sinn an % gnìomhaiche gus an còrr a lorg às deidh obrachadh na roinne. Is e an ath cheum dèanamh cinnteach a bheil an àireamh eadhon. Mura h-eil, tha an còrr mar aon sa chùis seo. A rèir sin, tha an àireamh neo-àbhaisteach. 

Gu sìmplidh, bidh an còd gu h-àrd a’ dearbhadh an e àireamh an t-sreang a chuir an neach-cleachdaidh a-steach. Ma tha, thèid dàrna sgrùdadh a dhèanamh feuch a bheil an còrr den sgaradh le dhà. Ach cha tèid an dàrna bloc a chuir gu bàs gus am bi an luach a chuir an neach-cleachdaidh a-steach àireamhach.

Is e sin, thèid an lùb a chuir gu bàs gu cunbhalach gus an tachair an suidheachadh. Anns an t-suidheachadh seo, tha e ag obair mar seo. 

Is e sin, faodaidh tu a dhol bhon taobh eile: lùb gnìomh sònraichte gus am bi an tachartas meallta.

Parsadh còd

A-nis chì sinn nas mionaidiche mar a tha an còd seo ag obair. Gus seo a dhèanamh, nì sinn mion-sgrùdadh air ceum air cheum.

  1. An toiseach, cuiridh an neach-cleachdaidh a-steach sreang, ris an gabh an caochladair n. 
  2. A 'cleachdadh lùb fhad 'sa tha an seòrsa caochladair seo air a sgrùdadh. Air a 'chiad inntrigeadh, chan eil e co-ionnan int. Mar sin, mar thoradh air an deuchainn, lorgar gu bheil an suidheachadh seo fìor. Mar sin, tha an corp lùbte air a chuir a-steach.
  3. Le cuideachadh bho ghnìomhaiche feuchainn tha sinn a’ feuchainn ri sreang a thionndadh gu àireamh. Ma thèid seo a dhèanamh, chan eil mearachd ann. A rèir sin, chan eil feum air a phròiseasadh. Mar sin, bidh an t-eadar-theangair a 'tilleadh gu toiseach an lùb, agus a rèir toraidhean an t-seic, tha e a' tionndadh a-mach gu bheil e air a thighinn gu bhith na shlànaighear. Mar sin rachamaid gu ceum 7
  4. Mura robh an tionndadh soirbheachail, thèid ValueError a thilgeil. Anns a 'chùis seo, thèid sruth a' phrògraim a chuir chun an neach-làimhseachaidh a-mhàin.
  5. Cuiridh an neach-cleachdaidh a-steach luach ùr, a tha air a shònrachadh don chaochladair n.
  6. Tillidh an t-eadar-theangair gu ceum 2 agus bheir e sùil a-rithist. Mas e luach iomlan a th’ ann, rachaibh gu ceum 7. Mura h-eil, thathas a’ feuchainn ris an tionndadh a-rithist a rèir ceum 3.
  7. Le cuideachadh bho ghnìomhaiche if Co-dhùnadh a bheil còrr ann às deidh àireamh a roinn le 2. 
  8. Mura h-eil, thèid an teacsa “eadhon” a thilleadh.
  9. Mura h-eil, thèid an teacsa “corr” a thilleadh.

Beachdaich a-nis air a leithid de eisimpleir. Feuch ri faighinn a-mach cia mheud uair a thèid an cearcall seo troimhe?

iomlan = 100 

i = 0

fhad 'sa tha mi <5:

    n = int (cuir a-steach ())

    iomlan = iomlan - n

    i = i + 1 

clò-bhualadh (“Fuigheall”, iomlan)

'S e 5 am freagairt ceart. An toiseach, luach an caochladair i - neoni. Nì an t-eadar-theangair sgrùdadh a bheil an caochladair co-ionann i 4 no nas lugha. Ma tha, thèid an luach a thilleadh. fìor, agus tha an lùb air a chur gu bàs a rèir sin. Tha an luach air àrdachadh le aon.

Às deidh a 'chiad ath-aithris, bidh luach an caochladair a' tighinn gu 1. Thèid seic a dhèanamh, agus tha am prògram a 'tuigsinn gu bheil an àireamh seo a-rithist nas lugha na 5. Mar sin, thèid am buidheann lùb a chur gu bàs airson an dàrna turas. Leis gu bheil na ceumannan coltach, tha an luach cuideachd air àrdachadh le aon, agus tha an caochladair a-nis co-ionann ri 2.

Tha an luach seo cuideachd nas lugha na còig. An uairsin thèid an lùb a chuir gu bàs an treas uair, air a chur ris a’ chaochladair i 1 agus tha e air a shònrachadh an luach 3. Tha seo a-rithist nas lugha na còig. Agus mar sin tha e a 'tighinn chun an t-siathamh tionndadh den lùb, aig a bheil luach an caochladair i co-ionann ri 5 (às deidh a h-uile càil, b’ e neoni a bh ’ann bho thùs, cho fad‘ s a chuimhnicheas sinn). A rèir sin, chan eil an suidheachadh seo a ’dol seachad air an deuchainn, agus thèid an lùb a thoirt gu crìch gu fèin-ghluasadach agus thèid an gluasad chun ath cheum, a tha taobh a-muigh (no crìochnachadh a’ phrògram, mura h-eil na ceumannan a leanas a thoirt seachad), a dhèanamh.

Faodaidh an cearcall tachairt an taobh eile cuideachd. Seo eisimpleir de chòd far a bheil, le gach tionndadh às deidh sin, aon air a thoirt air falbh bho luach làithreach a’ chaochladair. 

iomlan = 100 

fhad 'sa tha e gu h-iomlan> 0:

    n = int (cuir a-steach ())

    iomlan = iomlan - n 

clò-bhualadh (“Goireas sgìth”)

Feuch ri tomhas dè nì am prògram seo! Smaoinich air sin ann an caochladair iomlan tha fiosrachadh mu ghoireas a’ phrògraim air a stòradh. Gach uair a nì an t-eadar-theangair sgrùdadh a bheil an goireas ann. Mura h-eil, tha an teacsa “Goireas sgìth” air a thaisbeanadh agus tha am prògram a’ dùnadh. Agus le gach tionndadh den lùb, bidh an goireas a 'lùghdachadh leis an àireamh a tha an neach-cleachdaidh a' sònrachadh.

Agus a-nis obair-dachaigh. Feuch ris a’ chòd gu h-àrd atharrachadh gus nach bi an caochladair gu bhith àicheil gu corporra. 

4 Beachdan

Leave a Reply