ÒdinatèPwogram

Piton pwogram lang: pasan

Lang nan pwogram Piton (kòm "Piton" oswa "Piton") Gen plizyè fason yo bouk kèk aksyon. zouti prensipal pou aplikasyon nan nenpòt ki iterasyon nan Piton - pandan y ap pasan ak pou. bouk la pandan y ap se pi plis inivèsèl pase pou, kidonk li se pi dousman. Sepandan, sa a pa vle di ke li se pi bon! se bouk la pou itilize pi souvan, paske avèk li reyalize travay ki pi difisil pou kreyasyon an nan milti-nivo ak pwogram mnogouslovnyh.

Piton: sik ak postcondition

Cycles ak postcondition - li pasan pandan y ap yo, ki se estrikti ki pi inivèsèl òganizasyonèl nan anviwònman an pwogram. bouk la pandan y ap opere sou prensip la nan "osi lontan ke". Sa vle di sa ki annapre yo: pandan y ap yon kondisyon sèten ap retounen yon valè vre, li pral travay! Sa a se konsepsyon rele yon "sik" paske jesyon an fonksyonèl nan siklik repete, kòmanse ak valè inisyal la. Soti nan sik la pandan y ap Piton kapab aplike nan tan an lè valè a vin fo. Nan pwen sa a, entèprèt la transmèt pwogram nan segman an fonksyonèl-semantik yo, sa vle di yon liy nouvo, ki sitiye apre blòk la ak pandan y ap nan postcondition.

Nan lang pwogramasyon, Piton sik pandan y ap postcondition gen sentaks sa a:

1. Pandan ke (kondisyon):

2. ekspresyon

Ekspresyon sa yo kapab swa yon deklarasyon yon selibatè oubyen plizyè. Kondisyon nan se toujou yon siyifikasyon vre nan nenpòt ki ki pa zewo. Sa a konsepsyon travay osi lontan ke kondisyon an espesifye se vre.

Lè l sèvi avèk sik pandan ke yo nan "Piton nan" pou egzanp

Rassmotirim pandan y ap riban. Piton se byen enteresan estrikti itérations li yo:

yon = 0
pandan y ap yon <7:
enprime ( "A")
yon = yon + 1

Nou yo te deklare varyab la "yon" epi li te mande l 'nan zewo. Lè sa a, mete kondisyon sa yo "pandan y ap yon <7", se sa ki, pandan y ap plase nan "yon" se mwens pase nimewo a "7", Lè sa a, riban nou an pral egzekite osi lontan ke gen se fo.

Yon fo (ki se, yo pral sòti nan sik la) li pral lè varyab la pral pi grannèg pase nimewo a "7". Pou sa rive, li se chak fwa enkremante pa 1, ke nou endike nan "yon = yon a + 1".

Si ou kouri sa a konstriksyon, lèt la "A" yo pral montre 7 fwa nan yon kolòn!

Yon
Yon
Yon
Yon
Yon
Yon
Yon

Kontinuèl bouk pandan ke yo nan Piton

Ki jan yo fè yon riban intèrminabl nan Piton ti tan? Devine pa difisil, paske sik la kouri jiskaske jiskaske li resevwa yon valè fo, epi si valè sa a se tou senpleman pa genyen? Repons lan nan kesyon an se pwobableman deja se konsa tout bagay se klè. Nan kèk ka, se yon riban enfini bezwen yo rezoud yon pwoblèm? Egzanp sa a pral sèvi kòm yon realizasyon nan yon pwogram sa yo, kòm yon "revèy." Isit la, nan kou, ou bezwen sèvi ak yon riban enfini, ki pral pou tout tan mete ajou epi montre tan an.

Enfini riban se souvan yon pwogramasyon erè inisyasyon ki bliye ajoute yon kondisyon chanjman sik.

Se pou nou pran yon gade nan moso nan yo nan Piton kòd. sik yo nan ka sa a iteratif endefiniman (apre pèsonaj la "#" se yon kòmantè):

Nimewo = 1 # deklare yon nimewo varyab ak bay li yon valè de 1

pandan y ap nimewo <10: # kreye postcondition la, ki konte mwens pase 10

ekri an lèt detache 'Bonjou' # kondisyon (ekri an lèt detache «Alo» mesaj)

Tankou yon pwogram pa ta dwe prese a konpile, paske li pral kouri endefiniman. Nou mande kondisyon sa yo ki pa janm yo pral fo valè kondisyon «Nimewo <10" nan ka sa a ak toujou vre, se konsa iterasyon an pral toujou ap pote nimewo N-th nan "Alo" mesaj. Yo nan lòd yo sispann pwosesis la nan konpile p'ap janm fini an la, ou pral bezwen peze kle konbinezon Ctrl C a nan koki an.

Piton: sentaks. Pandan ke, ak pou pasan

Kòm mansyone pi wo a, nan lang la nan "Piton" pwogram lan, gen plizyè fason yo òganize yon ekspresyon gwoup repete. Li vin pote l sekou bouk la pou li a, ki se yon ti jan diferan de pandan y ap kontrepati li yo, paske desen li yo se yon ti kras pi konplike pase jis postcondition. se pou yo pa pale sou inivèsalite a nan sik la, paske li tou senpleman pa, sepandan, dwe te note ke pou riban a se anpil pi vit pase yon ti tan. Yon varyete de fason yo rezoud desen an ak pèfòmans nan sa a sik pèfòme ti kras ak postcondition, kidonk li se pi plis chans yo sèvi ak fè anpil travay trivial.

Ki sa ki defi yo fè fas a sik la pou? San dout, menm jan ak sa yo ki an pandan y ap la - repekte nenpòt pwosesis. Nòt yo pwogram te fè sou "piton la", se lajman ki itilize bouk pou, ki se kapab nan mete ann aplikasyon parcourt Predetermined plusieurs nan eleman ak fè nan divès kalite kò li yo iteration sou yo. Karakteristik nan sa a konsepsyon ka itilize nan liy pwosesis oswa lis jis tankou nenpòt ki lòt objè iteratif.

Egzanp nan itilize pou sik la nan Piton

Se pou nou di nou gen kèk lis nimewo, epi nou bezwen chak eleman (ie. E. Nimewo) te ogmante pa twa inite. Pou aplike tankou yon tach nou kapab nan bouk la, pou metòd bouk.

Se pou yo gade nan yon egzanp rapid, kote nou pral fè aksyon ki apwopriye a pou sa a (apre "#" karaktè a se yon kòmantè):

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # deklare etalaj ki gen 10 figi

konte = 0 # kreye vann san preskripsyon ak zewo

pou eleman nan spisok_chisel: # repekte sou etalaj la epi ekri li nan eleman yo

spisok_chisel [konte] = eleman + # 3 nimewo etalaj ogmante nan twa

konte = konte + 1 # ale nan nimewo a pwochen sou endèks la

Rezilta a nan konstriksyon nan pi wo a yo pral:

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

Nan egzanp nou an, gen yon konte varyab ★ ki nou bezwen yo nan lòd yo selebre valè yo chanje nan etalaj «spisok_chisel la». se konte a varyab anrejistre yon valè endèks nan chak eleman nan etalaj la (chak nimewo nan lis la). Varyab «eleman» konekte valè a ki kapab lakòz nan lis la. Nan a pou riban, nou wè ki jan yo aplike pwosesis la nan chak objè nan lis la nimerik. Anndan bouk la, chak objè nimerik ak endèks «konte» te ajoute kantite lajan an nan eleman aktyèl la iteratif ak twa. Lè sa a, endèks nou an «konte» ogmante pa yon sèl, ak koule nan ekzekisyon pwogram-lan retounen nan kòmansman an nan konstriksyon anons pou. Se konsa, riban an pral kouri jiskaske jiskaske li te trete chak eleman nan etalaj la, yo bay nan kondisyon an. Si yon eleman ki manke, men se mete nan kondisyon an, sik la se konplè. Nou trase atansyon a yon sèl plis bagay: si ou pa ekri yon liy nan «konte = konte + 1", malgre lefèt ke yon etalaj de objè trete avèk siksè, rezilta a ap toujou dwe ajoute nan premye endèks objè nimerik zewo c.

Koulye a, nou ka panse osijè de pandan y ap prensip operasyon bouk epi idantifye diferans ki genyen (sonje ke nan Piton soti nan se sik la ak postcondition te pote soti sou baz la nan kritè ki lojik - vre (sik la ap kontinye) oswa fo (sik la sispann)).

Kouman a trete yon fisèl nan Piton lè l sèvi avèk desen an pou?

Nan chak lang programmation gen sik, epi yo travay, anjeneral, sou prensip la menm, diferans ki genyen vizib sèlman nan sentaks la. Sepandan, pou riban nan lang "Piton la" se nan pa yon òdinè ak trivial, paske prensip la nan operasyon li yo se pa sa sèlman kontwa an. Sa a konsepsyon enumèr chak atik separeman. Tout bagay sa a ka fasil yo eksplike sa nan egzanp lan nan travay ak strings, men premye kite nan fas ak konpozisyon sa a nan sik la pou:

pou varyab

Li se ki estoke nan yon varyab sik operasyon rezilta

nan peremennaya_2

mo kle «nan» - li se yon avantou lè w ap travay ak «pou» sik. Soti nan peremennoy_2 nou rale valè a ke yo pral iteratif. Pou klè, ak klè, se pou yo gade nan yon ti egzanp pou konnen kijan pou travay ak sòt strings nan Piton:

'Pwogram' # deklare Char = yon varyab epi bay se yon valè fisèl

pou slovo nan Char: # Kreye yon slovo varyab, ki pral kontinye rsu kòd nan varyab Char

ekri an lèt detache (slovo, nan fen mond = '^') # Sòti slovo la ak apre chak lèt, insert yon senbòl - yon zwazo.

Rezilta a nan script la:

P ^ p ^ o ^ r ^ r ^ yon ^ m ^ m ^ ^ ak p ^ o ^ yon ^ ^ yon n ^ ak ^ e

kontinye deklarasyon

operatè kontinye mete ann aplikasyon tranzisyon an nan aplikasyon an nan sik nan pwochen, yo bay nan kondisyon an, kèlkeswa balans lan nan bouk la. Sèvi ak kontinye nan deklarasyon ka nan de sik - pou ak pandan y ap.

Konsidere egzanp sa a:

pou konte nan 'repete chak lèt yo, eksepte pou'

si konte == 'o':

kontinye

ekri an lèt detache (konte * 2, nan fen mond = '')

Rezilta a yo pral bagay sa yo:

Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee

Lè kap okipe-a jwenn yon lèt "o" nan fisèl la repete chak lèt yo, eksepte pou 'te nan ekzekisyon an nan pwogram nan imedyatman voye nan liy la apre pawòl Bondye a' 'kontinye' ', kote yo te kondisyon an mete nan kopi chak lèt.

deklarasyon repo

Keyword «repo» eleman nan plas la kote sik la se yo dwe koupe san yo pa ap tann pou fini li yo, ki te bay nan kondisyon an. Sa a se konsepsyon souvan yo itilize lè li ap ekri pwogram ak yon anpil nan lojik ak kondisyon.

Konsidere yon ti egzanp nan deklarasyon an repo travay:

pou konte nan 'repete chak lèt yo, eksepte pou'

si konte == 'o':

repo

ekri an lèt detache (konte * 2, nan fen mond = '')

Rezilta a yo pral bagay sa yo:

nn

Lè kap okipe-a jwenn yon lèt "o" nan fisèl la repete chak lèt eksepte pou 'te nan ekzekisyon an nan pwogram nan imedyatman te kanpe totalman, malgre lefèt ke liy nan pwochen te gen kèk nan kondisyon yo pou sik la.

Pawòl Bondye a majik lòt

Nan yon seri de nenpòt kalite ka aplike operatè a lòt moun. Ki sa li pou? Li te tou chèk ki te pran angajman soti nan bouk la vle di yon ti repo oswa wout la dabitid. Bloke ak règleman Predetermined nan aplikasyon lòt kòmanse sèlman lè kondisyon an ki pwodiksyon an nan sik la te te pote soti san yo pa itilize a nan estrikti repo.

Konsidere yon ti egzanp:

pou konte nan 'alo mond':

si konte == 'mwen:

repo

lòt bagay:

ekri an lèt detache ( 'fraz ou pa gen okenn lèt' mwen ')

Pwodiksyon an nan script la:

fraz ou se pa lèt "I"

Men kèk egzanp sou sik yo nan lòd paj-la nan lang nan pwogram Piton

Kòm aplike nan Piton sik ranvèse? Se pou yo imajine ke ekri yon pwogram ki bezwen yo rekonèt liy karaktè ak enprime li yo nan lòd ranvèse. Ki jan yo aplike sa a?

Ann pran egzanp ki anba a:

slovo = 'pwogram'

new_slovo = []

pou konte nan seri (Len (yo), 0, -1):

new_slovo.append (yo [mwen-1])

new_slovlo

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

ekri an lèt detache (new_slovo)

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

ekri an lèt detache ( ''. rantre nan (new_slovo))

Rezilta a nan script la:

einavorimmargorp

pasan enbrike

Nan Piton, genyen tou sik nan pwogram ak envèstisman, se sa ki mete yo nan kò a nan yon lòt. Nan chak sik kapab yon bouk enbrike, e konsa li se posib yo bati yon nechèl nan Infinity. Nan iterasyon an premye nan bouk la deyò se trase ak yon apèl nan bouk anndan an, ki se egzekite anvan fini an nan pwòp li yo, Lè sa a, kontwole tout reyorante resous nan kò a nan riban an eksteryè. Chak lang gen karakteristik pwòp li yo nan pasan enbrike, se pou yo gade nan ki jan yo travay nan "Piton" lang nan pwogram.

Si w ap itilize pasan enbrike, Piton ofri sentaks sa a:

pou varyab nan sekans nan varyab:

pou varyab nan sekans nan varyab

aksyon (yo)

aksyon (yo)

Karakteristik yo espesyal nan pasan enbrike se lefèt ke nan sik la nan nenpòt ki kalite kapab itilize yo kòm nenpòt ki kalite sik! Sa vle di ke nan yon sik pandan y ap (oswa pou) ka entegre pou yon sik oswa ankò pandan y ap ak vis vèrsa.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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