Komputiloj, Programado
Python programlingvo: cikloj
La Python programlingvo (kiel "Python" aŭ "Python") Estas pluraj manieroj buklo iun agon. La ĉefaj iloj por efektivigo de iu ripeto en Python - dum maŝojn kaj por. La dum ciklo estas pli universala ol por, tial estas pli malrapida. Tamen, ĉi tio ne signifas, ke estas pli bone! La por buklo estas uzata pli ofte, ĉar kun ĝi rimarkis la plej malfacilajn taskojn por la kreo de pluraj niveloj kaj mnogouslovnyh programoj.
Python: ciklo kun postcondition
Cikloj kun postcondition - ĝi bukloj dum, kiu estas la plej universala organizaj strukturoj en la programado medio. La dum ciklo funkcias sur la principo de "dum". Tio signifas la jenan: dum certa kondiĉo revenos vera valoro, ĝi funkcios! Tiu dezajno estas nomita "ciklo" ĉar la funkcia administrado de cikle ripetis, komencante kun la komenca valoro. En la ciklo dum Python esti realigita la tempo, ke la valoro iĝas malvera. Je ĉi tiu punkto, la interpretisto transdonas la programon al la sekva funkcia-semantika segmento, te nova linio, kiu situas post la bloko kun la postcondition tempo.
En programlingvoj, Python cikloj dum postcondition havas la sekvan sintakson:
1. Dum (kondiĉo): 2. esprimo |
Esprimo povas esti aŭ ununura deklaro aŭ pluraj. La kondiĉo estas ĉiam vera signifo de iu ne-nulo. Tiu dezajno laboras dum la specifita kondiĉo estas vera.
Uzante ciklo dum en la "Python" ekzemple
Rassmotirim dum ciklo. Python estas sufiĉe interesaj strukturoj lia ripetoj:
a = 0 |
Ni deklaris la variablo "a" kaj petis ŝin nulo. Kaj starigu la kondiĉoj "dum <7", tio estas, dum la variablo "al" estas malpli ol la nombro "7", tiam nia buklo lanĉiĝos dum ekzistas malvera.
Falsa (te, ili eliras de la ciklo) estos kiam la variablo estos pli granda, ol la nombro "7". Por ke tio okazu, estas ĉiufoje incremented per 1, ke ni indiku en la "a = a + 1".
Se vi kuras ĉi tiu konstruo, la letero "A" estos montrita 7 fojojn en kolumno!
A |
Senfina buklo dum en Python
Kiel fari senfina ciklo en Python dum? Divenu malfacile, ĉar la ciklo kuras ĝis ĝis ĝi ricevas falsan valoron, kaj se ĉi tiu valoro estas simple ne estas tie? La respondo al la demando estas verŝajne jam tiel ĉio estas klara. En iuj kazoj, senfina ciklo necesas por solvi problemon? Tiu ekzemplo servos kiel efektivigo de tia programo, kiel "horloĝo". Ĉi tie, kompreneble, vi devas uzi senfina ciklo, kiu estos konstante ĝisdatigita kaj montri la tempon.
Senfina buklo estas ofte eraro novulo programistoj kiuj forgesu aldoni ŝanĝon ciklo kondiĉoj.
Ni rigardu la sekvan pecon de Python kodo. La cikloj en tiu kazo ripetis senfine (post la "#" karaktero estas komenton):
nombro = 1 # deklari variablon nombro kaj atribui al ĝi valoron de 1 dum nombro <10: # krei la postcondition, kio kalkuli malpli ol 10 presita Saluton # kondiĉo (presita «Saluton» mesaĝo) |
Tia programo ne rapidi por kompili, ĉar ĝi kuras senfine. Ni petis tiajn kondiĉojn kiuj neniam estos falsaj valoroj kondiĉo «numeron <10" en ĉi tiu kazo kaj ĉiam vera, do la ripeto estos konstante alportante N-a nombro de "Saluton" mesaĝojn. Por halti la procezo de kompili la eternan, vi bezonos premi la klavkombinon Ktrl + C en la ŝelo.
Python: sintakso. Dum, kaj por bukloj
Kiel menciis pli supre, en la lingvo de la "Python" programado, ekzistas pluraj manieroj organizi ripeto grupo esprimoj. Ĝi venas al la rekupero buklo por, kiu estas iom malsamaj de lia kompenso dum, ĉar lia dezajno estas iom pli komplika ol simple postcondition. ni ne parolas pri la universaleco de la ciklo, ĉar ĝi simple ne tamen notu, ke la por buklo estas multe pli rapida ol momento. Gamo da manieroj por solvi la dezajno kaj agado de tiu malgranda outperform ciklo kun postcondition, do ĝi estas multe pli verŝajna por uzi plenumi multajn bagatela taskoj.
Kiuj estas la desafíos kiu alfrontas la ciklo por? Sendube, la sama kiel tiu de la tempo - persisti ajna procezoj. La programo notoj faritaj en la "python", estas vaste uzata buklo por, kiu estas kapabla de implementar trairado antaŭdeterminita plureco de elementoj kaj plenumi en lia diversaj korpo ripetanta super ili. Trajtoj de tiu dezajno povas esti uzata en pretigo linioj aŭ listoj same kiel ĉiu alia objekto ripetis.
Ekzemplo de uzo por la ciklo en Python
Supozu ke ni havas iun liston de nombroj, kaj ni bezonas unu la elemento (te. E. Nombro) kreskis je tri unuoj. Por efektivigi tian taskon ni povas tra la ciklo, por ciklo metodoj.
Ni rigardu rapida ekzemplo, kie ni plenumos la konvenan agon por ĉi tiu (post la "#" karaktero estas komenton):
spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # deklaris tabelo enhavas 10 figuroj kalkuli = 0 # kreita vendotablo kun nulo por eroj en spisok_chisel: # persisti super la tabelo kaj skribi ĝin en la elementoj spisok_chisel [kalkuli] = elementoj + # 3 nombro kreskanta tabelo de tri kalkuli = kalkuli + 1 # iri al la sekvanta nombro sur la indekso |
La rezulto de la supre konstruo estos:
spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98] |
En nia ekzemplo, estas variablo grafo, kiun ni bezonas por festi la ŝanĝanta valoroj en la tabelo «spisok_chisel». La variablo grafo estas registrita indekso valoro de ĉiu elemento en la tabelo (ĉiu nombro en la listo). Variablo «elementoj» ligas la rezultanta valoro en la listo. En la por ciklo, ni vidas kiel apliki la prilaborado de ĉiu objekto en la nombra listo. Interne la ciklo, ĉiu nombra objekto kun indekso «grafo» aldonis la kvanto de la aktualaj ripetita elemento kaj tri. Tiam nia indekso «kalkuli» kreskis je unu, kaj la fluo de efektivigo de la programo revenas al la komenco de konstruo anoncoj por. Tiel, la buklo kuri ĝis ĝis ĝi procesis ĉiu elemento en la tabelo, donitaj de la kondiĉo. Se iu elemento estas mankanta, sed estas metita fare de la stato, la ciklo estas kompleta. Ni atentigi unu alia aĵo: se vi ne skribas linion de «grafo = kalkuli + 1", malgraŭ tio, ke tabelo de objektoj procesis sukcese, la rezulto ĉiam estos aldonita al la unua nombra objekto indekso nulo c.
Nun ni povas pensi pri dum ciklo operacio principoj kaj identigi la diferencon (memori ke en Python el la ciklo kun postcondition efektivigas surbaze de logika kriterioj - vera (la ciklo daŭras) aŭ malvera (la ciklo haltas)).
Kiel trakti ĉenon en Python uzante la dezajno por?
En ĉiu programlingvo ekzistas cikloj, kaj ili laboras, kutime en la sama komenco, la diferencoj videblaj nur en la sintakso. Tamen, la por ciklo en la lingvo "Python" ne ordinara kaj bagatela, ĉar la principo de ĝia operacio estas ne limigita al la vendotablo. Tiu dezajno numeras ĉiun eron aparte. Ĉio ĉi povas esti facile klarigita per la ekzemplo de labori kun kordoj, sed unue ni pritrakti la komponado de la ciklo por:
por ŝanĝiĝema
Ĝi estas stokita en variablo ciklo operacio rezulto
en peremennaya_2
ŝlosilo vorto «en» - ĝi estas antaŭkondiĉo kiam laboranta kun «por» ciklo. El peremennoy_2 ni tiri la valoro kiu estos ripetita. Por klareco, kaj klarecon, ni rigardu malgranda ekzemplo de kiel labori kaj por ordigi kordoj en Python:
char = "programado" # deklari variablon kaj atribui kordo valoro por slovo en char: # Krei ŝanĝiĝemaj slovo, kiu daŭre rompanta kodoj de ŝanĝiĝema char presi (slovo, fino = '^') # Eligo la slovo kaj post ĉiu letero, enŝovu simbolo - birdo. |
La rezulto de la skripto:
P ^ p ^ o ^ r ^ r ^ a ^ m ^ m ^ ^ kaj p ^ o ^ a ^ a ^ n ^ kaj ^ e |
daŭrigi deklaro
operatoro daŭrigas efektivigi la transiron al la efektivigo de la sekva ciklo, donita fare de la stato, sendepende de la bilanco de la ciklo. Uzu la daŭrigi deklaron povas esti en du cikloj - por kaj dum.
Konsideru ĉi tiun ekzemplon:
por grafo en 'ripetas ĉiun literon, krom' se grafo == 'o': daŭrigi presi (grafo * 2, fino = '') |
La rezulto estos la sekvaj:
Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee |
Kiam la traktilo trovis leteron "o" en la ĉeno 'ripetas ĉiun literon, krom' la ekzekuto de la programo estis tuj plusendita al la linio post la vorto '' daŭrigi '', kie la kondiĉo estis metita duplikati ĉiu letero.
paŭzo deklaro
Temo «paŭzo» enigita en la lokon, kie la ciklo estas interrompita ne atendante lia finaĵo, donitan per la kondiĉo. Tiu dezajno estas ofte uzita kiam skribanta programojn kun multe da logiko kaj kondiĉoj.
Konsideru malgranda ekzemplo de la laboro ripozon komunikaĵo:
por grafo en 'ripetas ĉiun literon, krom' se grafo == 'o': paŭzo presi (grafo * 2, fino = '') |
La rezulto estos la sekvaj:
nn |
Kiam la traktilo trovis leteron "o" en la ĉeno 'ripetas ĉiun literon krom' la ekzekuto de la programo estis tuj haltis, malgraŭ tio, ke la sekvanta linio enhavas iuj de la kondiĉoj por la ciklo.
La magia vorto alie
En serio de ia ajn povas apliki la telefoniston alia. Kio estas por? Li ankaŭ ĉekojn kiu estis farita el la buklo signifas ripozon aŭ la kutima maniero. Bloki kun antaŭdeterminita reguloj en efektivigo alia komenci nur kiam la kondiĉo ke la produktado de la ciklo estis realigita sen la uzo de paŭzo strukturo.
Konsideru malgranda ekzemplo:
por grafo en 'saluton mondo': se grafo == 'Mi: paŭzo alian: presi ( 'Via frazo ne havas literon' Mi ') |
La produktado de la skripto:
Via frazo ne la letero "mi" |
Ekzemploj de cikloj en la inversa ordo de la lingvo de programado Python
Kiel implementado en Python inversa ciklo? Ni imagu, ke skribi programon kiu bezonas rekoni la karakteron linio kaj presi ĝin en inversa ordo. Kiel efektivigi tion?
Konsideru la ekzemplon sube:
slovo = "programado" new_slovo = [] por grafo en gamo (len (s), 0, -1): new_slovo.append (j [i-1]) new_slovlo [ 'P', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'u', 'p', 'o', 'a', ' a ',' n ',' u ',' e '] presi (new_slovo) [ 'P', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'u', 'p', 'o', 'a', ' a ',' n ',' u ',' e '] presi ( ''. aliĝi (new_slovo)) |
La rezulto de la skripto:
einavorimmargorp |
ingita masxojn
En Python, estas ankaŭ cikloj de programado kaj investojn, kiu lokas en la korpo de alia. En ĉiu ciklo povas esti ingita iteracio, do eblas konstrui ŝtupetaron al malfinio. En la unua ripeto de la ekstera banto estas desegnita kun alvoko al la interna ciklo, kiu estas ekzekutita antaŭ la kompletigo de sia propra, tiam kontroli ĉiujn alidirektita al la korpo de la ekstera iteracio. Ĉiu lingvo havas sian proprajn trajtojn de nestitaj maŝojn, ni rigardu kiel ili laboras en la "Python" programlingvo.
Se vi uzas nestitaj maŝojn, Python proponas la sekvan sintakson:
por variablo en ordo de variabloj: por variablo en sinsekvo de variabloj ago (j) ago (j) |
La specialaj trajtoj de nestitaj bantoj estas la fakto, ke en la ciklo de ajna tipo povas esti uzata kiel iu ajn tipo de ciklo! Tio signifas, ke en ciklo dum (aŭ por) povas esti enigita por ciklo aŭ denove dum kaj inverse.
Similar articles
Trending Now