Datamaskiner, Programmering
Programmeringsspråket Python: sløyfer
Den Python programmeringsspråk (som "Python" eller "Python") Det er flere måter å sløyfe noen handling. De viktigste verktøy for gjennomføring av ethvert køyring i Python - mens sløyfer og etter. Den mens sløyfen er mer universelt enn for, slik at det er langsommere. Men dette betyr ikke at det er bedre! For loop brukes oftere, fordi med det skjønte de vanskeligste oppgavene for etableringen av multi-level og mnogouslovnyh programmer.
Python: syklus med postcondition
Sykluser med postcondition - det løkker stund, som er de mest universelle organisasjonsstrukturer i programmeringsmiljø. Mens loop opererer på prinsippet med "så lenge". Dette betyr følgende: mens en viss tilstand vil returnere en sann verdi, vil det fungere! Denne konstruksjonen kalles en "syklus" fordi den funksjonelle forvaltning av syklisk gjentatt, og starter med den opprinnelige verdien. Ut i syklusen mens Python skal gjennomføres på det tidspunktet når verdien blir falskt. På dette punktet, overfører tolken programmet til den etterfølgende funksjons-semantiske segment, det vil si en ny linje, som er plassert etter en blokk med postcondition stund.
I programmeringsspråk, Python sykluser mens postcondition har følgende syntaks:
1. Mens (tilstand): 2. uttrykk |
Uttrykket kan enten være et enkelt utsagn eller flere. Tilstanden er alltid en sann betydning av ikke-null. Denne konstruksjonen fungerer så lenge den angitte betingelsen er sann.
Bruke syklus mens i "Python" for eksempel
Rassmotirim mens sløyfe. Python er ganske interessante strukturer sine gjentakelser:
a = 0 |
Vi har erklært variabelen "a" og ba henne null. Deretter setter premissene "mens en <7", det vil si, mens den variable "a" er mindre enn tallet "7", så vår sløyfe vil bli utført så lenge det er usant.
En falsk (det vil si, går ut av takt) vil det være når den variable vil være større enn tallet "7". For at dette skal skje, er det hver gang økes med 1, som vi viser i "a = a + 1".
Hvis du kjører denne konstruksjonen, bokstaven "A" vil bli vist 7 ganger i en kolonne!
En |
Endeløse sløyfe mens i Python
Hvordan lage en endeløs sløyfe i Python stund? Gjett ikke vanskelig, fordi syklusen løper til før den mottar en falsk verdi, og hvis denne verdien er rett og slett ikke det? Svaret på spørsmålet er sannsynligvis allerede så alt er klart. I noen tilfeller er en uendelig løkke som trengs for å løse et problem? Dette eksempelet vil fungere som en realisering av et slikt program, som en "klokke". Her, selvfølgelig, må du bruke en uendelig loop, som vil bli permanent oppdatert og vise tiden.
Infinite loop er ofte en feil uerfarne programmerere som glemmer å legge til en endring sykkelforhold.
La oss ta en titt på følgende stykke Python-kode. Sykluser i dette tilfellet gjentok ubestemt tid (etter "#" karakter er en kommentar):
antall = 1 # erklære et variabelt antall og tilordne den en verdi av 1 mens nummer <10: # skape postcondition, som tall mindre enn 10 print 'Hei' # tilstand (print «Hei» melding) |
Et slikt program bør ikke hastverk med å kompilere, fordi det vil kjøre på ubestemt tid. Vi spurte slike forhold som aldri vil være falske verdier tilstand «nummer <10" i dette tilfellet og alltid sant, så iterasjon vil være stadig å bringe N-th antall 'Hei' -meldinger. For å stoppe prosessen med å sammenstille den evige, må du trykke tastekombinasjonen Ctrl + C i skallet.
Python: syntaks. Mens, og for løkker
Som nevnt ovenfor, i språket av "Python" programmering, er det flere måter å organisere en gjentakelse gruppere uttrykk. Det kommer til unnsetning løkke for, som er litt forskjellig fra motparten stund, fordi designet er litt mer komplisert enn bare postcondition. la oss ikke snakke om det universelle i syklusen, fordi det rett og slett ikke imidlertid bemerkes at for loop er mye raskere enn en stund. En rekke måter å løse utformingen og utførelsen av denne lille utkonkurrere syklus med postcondition, så det er mye mer sannsynlig å bruke til å utføre mange trivielle oppgaver.
Hva er utfordringene syklusen for? Utvilsomt den samme som den stund - iterere noen prosesser. Programmet notater gjort på "python" blir mye brukt sløyfe for, som er i stand til å implementere traversering forhåndsbestemt antall elementer og til å utføre i dens forskjellige kropps å iterere over dem. Funksjonene i denne design kan brukes i linjer eller lister akkurat som alle andre objekt iterated.
Eksempel på bruk for syklusen i Python
La oss si at vi har noen liste med tall, og vi trenger hvert element (ie. E. Number) økte med tre enheter. Å gjennomføre en slik oppgave vi kan gjennom løkken, for sløyfe metoder.
La oss se på en rask eksempel, hvor vi skal utføre nødvendige tiltak for dette (etter "#" karakter er en kommentar):
spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # erklært matrise inneholdende 10 figurer count = 0 # laget teller med null for elementer i spisok_chisel: # iterere over rekken og skrive det i elementene spisok_chisel [telle] = elementer + # 3 antallet vil øke matrise av tre teller = teller + 1 # gå til neste nummer på indeksen |
Resultatet av det ovenstående konstruksjonen vil være:
spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98] |
I vårt eksempel er det en variabel count, som vi trenger for å feire de endrede verdiene i matrisen «spisok_chisel». Den variable telling registreres en indeksverdi for hvert element i matrisen (hvert tall i listen). Variable «elementer» kobler den resulterende verdien i listen. I for loop, ser vi hvordan å gjennomføre behandlingen av hvert objekt i den numeriske listen. Inne i sløyfen, hver tall objekt med indeks «telling» tilsettes den mengde av det aktuelle itererte element og tre. Da vår hovedside «telle» økte med en, og flyten av gjennomføringen av programmet tilbake til starten av anlegg for. Således vil løkken løpe til før det har behandlet hvert element i matrisen, gitt ved tilstanden. Hvis noen element mangler, men er satt av tilstanden, er syklusen komplett. Vi trekker oppmerksomhet til en ting til: hvis du ikke skrive en linje med «count = teller + 1" , til tross for at en rekke objekter behandlet på riktig måte, vil resultatet alltid bli lagt til den første tall objektet indeksen null c.
Nå kan vi tenke på mens sløyfeoperasjon prinsipper og identifisere forskjellen (minne om at i Python ut av syklusen med postcondition blir utført på grunnlag av logiske kriterier - sant (syklusen fortsetter) eller falske (syklusen stopper)).
Hvordan å behandle en streng i Python bruker design for?
I alle programmeringsspråk det er sykluser, og de fungerer, vanligvis på samme prinsipp, forskjellene synlige bare i syntaks. Imidlertid, for loop i språket "Python" er ikke en vanlig og triviell på grunn av prinsippet av sin drift ikke er begrenset til telleren. Denne utformingen nummerer hvert element separat. Alt dette kan enkelt forklares med eksemplet med å jobbe med strenger, men først la oss håndtere sammensetningen av syklusen for:
for variabel
Den er lagret i et opera-sjonsresultatet variabel syklus
i peremennaya_2
stikkordet «in» - det er en forutsetning når man jobber med «for» syklus. Fra peremennoy_2 vi trekker verdien som vil bli iterated. For klarhet, og klarhet, la oss se på et lite eksempel på hvordan å arbeide og å sortere strenger i Python:
char = 'programmering' # erklære en variabel og tilordne en strengverdi for slovo i røye: # Lag en variabel slovo, som vil fortsette å sprenge koder av variabel røye print (slovo, end = '^') # Output den slovo og etter hver bokstav, sette inn et symbol - en fugl. |
Resultatet av skriptet:
P ^ p ^ o ^ r ^ r ^ a ^ m ^ m ^ ^ og p ^ o ^ a ^ a ^ n ^ og ^ e |
fortsette statement
Operatøren fortsetter å gjennomføre overgangen til gjennomføring av neste syklus, gitt av tilstanden, uten hensyn til balansen av sløyfen. Bruk fortsette uttalelsen kan være i to sykluser - for og stund.
Tenk på dette eksemplet:
for telling i 'gjenta hver bokstav, med unntak for' hvis tellingen == 'o': fortsette print (count * 2, ende = '') |
Resultatet vil være følgende:
Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee |
Når føreren funnet et brev "o" i strengen 'gjenta hver bokstav, med unntak for' gjennomføring av programmet ble umiddelbart videresendt til linjen etter ordet '' fortsette '', hvor tilstanden ble satt til å duplisere hver bokstav.
pause uttalelse
Nøkkelordet «pause» satt inn i stedet der syklusen er å bli avbrutt uten å vente på ferdigstillelse, som ble gitt av tilstanden. Dette designet er ofte brukt når du skriver programmer med mye logikk og forhold.
Vurdere et lite eksempel på arbeidet pause uttalelse:
for telling i 'gjenta hver bokstav, med unntak for' hvis tellingen == 'o': pause print (count * 2, ende = '') |
Resultatet vil være følgende:
nn |
Når føreren funnet et brev "o" i strengen 'gjenta hver bokstav med unntak for' gjennomføring av programmet ble umiddelbart stoppet, til tross for at den neste linjen inneholder noen av vilkårene for syklusen.
Nøkkelordet annet
I en serie av noe slag kan bruke operatøren annet. Hva er det for? Han har også kontroller som hadde blitt begått ut av loopen betyr en pause eller på vanlig måte. Blokk med forhåndsbestemte regler i gjennomføringen ellers begynner først når den betingelse at utgangen av syklusen ble gjennomført uten bruk av brudd struktur.
Betrakt et lite eksempel:
for telling i 'Hello World': hvis count == 'I': pause annet: print ( 'Din setning har ingen bokstaven' jeg '') |
Utgangen av skriptet:
Setningen er ikke bokstaven "I" |
Eksempler på sykluser i omvendt rekkefølge av programmeringsspråket Python
Som implementert i Python omvendt syklus? La oss tenke oss at det å skrive et program som trenger å gjenkjenne tegn linjen og skrive den ut i motsatt rekkefølge. Hvordan implementere dette?
Tenk eksempelet nedenfor:
slovo = 'programmering' new_slovo = [] for telling i rekkefølge (len (e), 0, -1): new_slovo.append (s [i-1]) new_slovlo [ 'P', 'P', 'o', 'g', 'p', 'et', 'm', 'm', 'u', 'p', 'o', 'et', " en '' n '' u '' e '] print (new_slovo) [ 'P', 'P', 'o', 'g', 'p', 'et', 'm', 'm', 'u', 'p', 'o', 'et', " en '' n '' u '' e '] print ( ''. delta (new_slovo)) |
Resultatet av skriptet:
einavorimmargorp |
nestede løkker
I Python, er det også sykluser av programmering og investeringer, som er plassert i kroppen av en annen. I hver syklus kan være en nestet løkke, og så er det mulig å bygge opp en stige til uendelig. I den første iterasjon av den ytre sløyfe blir trukket med et kall til den indre sløyfe, som utføres før fullførelse av sin egen, deretter kontrollerer alle omdirigert inn i kroppen til den ytre sløyfe. Hvert språk har sin egen karakteristikk av nestede løkker, la oss se på hvordan de fungerer i "Python" programmeringsspråk.
Hvis du bruker nestede løkker, Python tilbyr følgende syntaks:
for variabel i rekkefølge av variabler: for variabel i rekkefølge av variabler handling (s) handling (s) |
De spesielle trekk ved nestede løkker er det faktum at i den syklus av hvilken som helst type kan anvendes som en hvilken som helst type syklus! Dette betyr at i en syklus, mens (eller for) kan bygges for en syklus eller igjen stund og omvendt.
Similar articles
Trending Now