/ / Python-ohjelmointikieli: Silmukat

Python-ohjelmointikieli: silmukat

Python-ohjelmointikielellä (myös Python)tai "Python") on olemassa useita tapoja jonkin toiminnan kiertämiseen. Tärkeimmät työkalut kaikenlaisen iteraation toteuttamiseksi Pythonissa ovat ja silmukoita. Samanaikaisesti silmukka on yleisempi kuin ennen, joten se toimii hitaammin. Tämä ei kuitenkaan tarkoita, että hän olisi parempi! For-silmukkaa käytetään paljon useammin, koska sitä voidaan käyttää monimutkaisimpien tehtävien toteuttamiseen monitasoisten ja moniehtoisten ohjelmien luomiseksi.

python-silmukat

Python: jälkitilanteen silmukka

Edellytyksen jälkeiset silmukat ovat samalla silmukoitaovat monipuolisimpia organisaatiorakenteita tietyssä ohjelmointiympäristössä. Samanaikaisesti silmukka toimii "kunnes" -periaatteella. Tämä tarkoittaa seuraavaa: Niin kauan kuin jokin ehto palauttaa todellisen arvon, se toimii! Tätä rakennetta kutsutaan ”sykliksi”, koska toiminnallinen ohjaus toistetaan syklisesti alkuperäisestä arvosta alkaen. Samanaikaisen silmukan poistuminen Pythonissa toteutetaan heti, kun arvo muuttuu vääriksi. Tässä vaiheessa tulkki siirtää ohjelman suorituksen seuraavalle toiminnallis-semanttiselle segmentille, toisin sanoen uudelle riville, joka sijaitsee lohkon jälkeen jälkitilan kanssa.

python silmukan ollessa

Python-ohjelmointikielellä silmukoilla, joilla on postcondition, on seuraava syntaksi:

1. Vaikka (ehto):

2. ilmaisu

Выражением может быть как одна инструкция, так и muutama. Ehto on aina todellinen arvo tai nolla. Samanlainen rakennus toimii niin kauan kuin annettu ehto on totta.

Käytä hetken silmukkaa Pythonissa esimerkin avulla

python-jälkiseuraussilmukka

Mieti hetken silmukka. Python rakentaa iteraationsa mielenkiintoisesti:

a = 0
kun taas <7:
tulosta ("A")
a = a + 1

Julistimme muuttujan "a" ja asetimme sen nollaanarvoa. Sitten asetamme ehdon "kun taas a <7", ts. Kun muuttuja "a" on pienempi kuin luku "7", silloin jaksomme suoritetaan, kunnes siitä tulee väärä.

Ja siitä tulee väärä (ts. Se poistuu silmukasta), kun muuttuja tulee suuremmaksi kuin luku "7". Jotta tämä tapahtuisi, se kasvaa joka kerta yhdellä, joka ilmaistaan ​​rivillä "a = a + 1".

Jos suoritat tämän suunnittelun, kirjain "A" näkyy sarakkeessa 7 kertaa!

A
A
A
A
A
A
A

Python loputon silmukka

Kuinka tehdä loputon silmukka Pythonissa?Sitä ei ole ollenkaan vaikea arvata, koska sykli toimii, kunnes se saa väärän arvon, ja jos tätä arvoa ei yksinkertaisesti ole? Vastaus kysymykseen luultavasti on jo jokaiselle selvä. Missä tapauksissa ääretön silmukka on tarpeen ongelman ratkaisemiseksi? Annettu esimerkki olisi kellon kaltaisen ohjelman toteuttaminen. Tässä tarvitaan epäilemättä ääretöntä silmukkaa, joka päivittää pysyvästi ja näyttää ajan.

python ääretön silmukka

Ääretön silmukka on hyvin usein aloittelevien ohjelmoijien virhe, jotka unohtavat lisätä muutoksia syklin olosuhteisiin.

Katsotaanpa seuraavaa Python-koodinpätkää. Silmukoita toistetaan tässä tapauksessa loputtomasti (# -merkin jälkeen on kommentti):

numero = 1 # ilmoita muuttujan numero ja anna sille arvo 1

kun taas luku <10: # luo jälkisehto, jossa luku on vähemmän kuin 10

tulosta "Hei" # täytä ehto (tulosta viesti "Hei")

Tällaista ohjelmaa ei pitäisi kiirehtiä kokoamaan,koska se toteutetaan loputtomasti. Asetamme sellaiset olosuhteet, joissa vääriä arvoja ei koskaan tule olemaan: ehto "numero <10" on tässä tapauksessa muuttumaton ja totta, siksi iterointia suoritetaan jatkuvasti, näyttäen n: nnen viestimäärän "Hei". Ikuisen kokoamisprosessin lopettamiseksi on painettava näppäimen yhdistelmää Ctrl + C kuoressa.

Python: syntaksi. Samalla ja silmukoille

Kuten edellä mainittiin, kielelläPython-ohjelmointi Lausekkeiden toiston järjestämiseksi on useita tapoja. Pelastamiseen tulee A-silmukka, joka eroaa hiukan sen samanaikaisesta vastineesta, koska sen rakentaminen on hieman monimutkaisempi kuin pelkkä jälkikäte. Emme puhu tämän silmukan universaalisuudesta, koska sitä ei yksinkertaisesti ole, mutta voidaan kuitenkin todeta, että for-silmukka toimii paljon nopeammin kuin aikoinaan. Tämän suunnittelun monet ratkaisutavat ja nopeus ylittävät jakson jälkitingolla, joten sitä käytetään paljon useammin monien triviaalisten tehtävien suorittamiseen.

Mitkä ovat loop-haasteet?Epäilemättä sama kuin samalla - toista kaikkia prosesseja. Ohjelmissa, jotka suoritetaan "Pythonilla", for-silmukkaa käytetään laajasti, joka kykenee toteuttamaan tietyn elementtijoukon poikittaissuunnan ja suorittamaan useita iteraatioita niiden yli kehossaan. Tämän rakenteen ominaisuuksia voidaan soveltaa merkkijonojen tai luetteloiden käsittelyyn samalla tavalla kuin minkä tahansa muun toistettavan kohteen kanssa.

Esimerkiksi Python

Oletetaan, että meillä on luettelo numeroista, ja meidän on lisättävä jokaista elementtiä (ts. Lukua) kolmella yksiköllä. Voimme suorittaa tämän tehtävän silmukoimalla, käyttämällä for-silmukkaa.

Katsotaanpa pieni esimerkki, jossa suoritamme tähän sopivat toimenpiteet (# -merkin jälkeen on kommentti):

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # ilmoitti taulukon, joka sisältää 10 numeroa

count = 0 # loi laskurin, jonka arvo on nolla

elementeille spisok_chisel: # iteroi taulukon yli ja kirjoita se elementteihin

spisok_chisel [count] = elementit + 3 # taulukon numero kasvaa kolmella

count = count + 1 # siirry seuraavaan numeroon hakemiston mukaan

Edellä esitetyn rakenteen tulos on seuraava:

luettelonumero = y8, 18, 28, 38, 48, 58, 68, 78, 88, 98

Esimerkissämme on muuttuva määrä, jokameidän täytyy merkitä muuttuvat arvot taulukossa "spisok_chisel". Laskentamuuttuja tallentaa taulukon kunkin elementin indeksiarvot (jokainen luku luettelossa). "Elementit" -muuttuja sitoo tuloksena olevat arvot luettelossa. For-silmukassa havaitsemme, kuinka luettelossa olevien kunkin numeerisen objektin käsittely suoritetaan. Silmukan sisälle lisätään kukin numeerinen objekti, jolla on ”count” -indeksi, nykyisen toistettavan elementin ja kolminkertaisen summan kanssa. Sitten ”count” -indeksiämme lisätään yhdellä ja ohjelmavirta palaa konstruktin ilmoituksen alkuun. Siten silmukka toimii, kunnes se käsittelee kutakin ehtoa määrittelemässä taulukon elementissä. Jos jokin elementti puuttuu, mutta määritetään ehdon mukaan, silmukkaprosessi suoritetaan loppuun. Kiinnitetään huomiota vielä yhteen vivahteeseen: jos et kirjoita riviä “count = count + 1”, niin, vaikka taulukon objektit käsitellään onnistuneesti, tulos lisätään jatkuvasti ensimmäiseen numeeriseen objektiin nolla-indeksillä.

Теперь мы можем вспомнить о принципах работы samalla kun silmukka ja havaitsee ero (muistakaa, että Pythonissa silmukasta poistuminen jälkisehdolla perustuu loogisiin kriteereihin - totta (silmukka jatkaa toimimista) tai epätosi (silmukka pysähtyy)).

Kuinka käsitellä merkkijonoarvoa Pythonissa konstruktion avulla?

Jokaisella ohjelmointikielellä on jaksoja,ja ne toimivat pääsääntöisesti samalla periaatteella, erot ovat havaittavissa vain syntaksissa. Python-kielen for-silmukka ei kuitenkaan ole tavallinen ja triviaali, koska sen toiminnan periaate ei ole rajoitettu laskuriin. Tämä muotoilu toistuu jokaisen elementin yli erikseen. Kaikki tämä on helppo selittää käyttämällä merkkijonoja esimerkkinä, mutta tarkastellaan ensin for-silmukan koostumusta:

muuttujalle

muuttuja tallentaa silmukan tuloksen

muuttujassa_2

avainsana ”in” on ennakkoedellytyskun työskentelet for for-silmukan kanssa. Muuttujasta_2 poimimme arvon, jonka iteroimme. Selvyyden ja selvyyden vuoksi katsotaanpa pieni esimerkki kuinka työskennellä ja iteroida kielissä Pythonissa:

char = 'ohjelmointi' # Julisti muuttujan ja antoi sille merkkijonoarvon

slovo in char: # Luo slovo-muuttuja, joka tallentaa luetteloindeksit char-muuttujasta

print (slovo, end = '^') # Tulostamme slovo ja jokaisen kirjaimen jälkeen asetamme symbolin - linnun.

Komentosarjan tulos:

P ^ p ^ o ^ r ^ p ^ a ^ m ^ m ^ ja ^ p ^ o ^ sisällä ^ a ^ n ^ ja ^ e

Jatka lausuntoa

Jatkuva operaattori toteuttaa siirtymisen ehdon määrittelemään seuraavaan jaksoon riippumatta jakson rungossa olevasta jäännöksestä. Voit käyttää jatkuvaa operaattoria kahdessa silmukassa - sekä jaksoa.

Mieti esimerkkiä:

lasketaan 'toista jokainen kirjain paitsi noin'

jos count == 'o':

jatkaa

tulosta (laske * 2, loppu = '')

Tulos on seuraava:

Ppvvtrriimm kkazhdyuyuyu bbuukkvvuu,

Kun ohjaaja löysi merkkijonosta kirjaimen “o”"Toistamme jokaisen kirjaimen, paitsi", ohjelman suorittaminen ohjataan heti riville sanan "jatka" jälkeen, missä edellytettiin ehtoa, että se kopioi jokaisen kirjaimen.

Break lausunto

Avainsana ”break” lisätään kohtaanmissä jakso tulisi keskeyttää odottamatta sen loppuun saattamista, jonka ehto määritteli. Tätä rakennetta käytetään hyvin usein kirjoitettaessa ohjelmia, joilla on paljon logiikkaa ja ehtoja.

Mieti pieni esimerkki tauonlausekkeesta:

lasketaan 'toista jokainen kirjain paitsi noin'

jos count == 'o':

tauko

tulosta (laske * 2, loppu = '')

Tulos on seuraava:

nn

Kun käsittelijä löysi kirjaimen "o" riviltä "toistamme kaikki kirjaimet paitsi, o", ohjelma lopetettiin heti, huolimatta siitä, että seuraava rivi sisältää joitain ehtoja silmukalle.

Maaginen sana muu

Minkä tahansa silmukan sisällä voit käyttää else-käskyä.Mihin se on tarkoitettu? Se tarkistaa, suoritettiinko poistuminen silmukasta katkaisumenetelmillä vai tavanomaisella tavalla. Lohko, jolla on annetut säännöt muualla, aloittaa käyttöönoton vain, jos silmukka poistuu ilman tauonrakennetta.

Mieti pieni esimerkki:

lukumäärä 'hello maailmassa':

jos count == 'i':

tauko

else:

tulosta ('Lauseessasi ei ole kirjainta' '")

Komentosarjan tulos:

Ilmauksellasi ei ole kirjainta “I”

Esimerkkejä käänteisen järjestyksen silmukoista Python-ohjelmointikielellä

python käänteinen silmukka

Kuinka käänteinen silmukka toteutetaan Pythonissa? Oletetaan, että kirjoitamme ohjelman, jonka pitäisi tunnistaa merkkijono ja tulostaa se käänteisessä järjestyksessä. Kuinka toteuttaa tämä?

Mieti seuraavaa esimerkkiä:

slovo = 'ohjelmointi'

new_slovo = []

lasketaan alueella (len (s), 0, -1):

new_slovo.append (s [i-1])

new_slovlo

['n', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'ja', 'r', 'o', 'in', ' a ',' n ',' ja ',' e ']

tulosta (uusi_slovo)

['n', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'ja', 'r', 'o', 'in', ' a ',' n ',' ja ',' e ']

tulosta (''. liity (uusi_slovo))

Komentosarjan tulos:

einavorimmargorp

Sisäkkäiset silmukat

Python-ohjelmointikielellä on silmukoitamyös sisäkkäin, toisin sanoen, sijoitettuna toisen vartaloon. Jokaisella jaksolla voi olla oma upotettu jakso, joten voit rakentaa portaat äärettömyyteen. Ensimmäisessä iteraatiossa ulkoinen silmukka kutsuu sisäsilmukan, joka jatkuu, kunnes se on valmis, sitten kaikki ohjaus ohjataan ulkoisen silmukan runkoon. Jokaisella kielellä on omat sisäkkäisten silmukoidensa erityispiirteet, joten selvitetään, kuinka ne toimivat Python-ohjelmointikielellä.

python-sisäkkäiset silmukat

Jos käytetään sisäkkäisiä silmukoita, Python tarjoaa seuraavan syntaksin:

peräkkäisen muuttujan muuttujalle:

peräkkäisen muuttujan muuttujalle

toiminta (t)

toiminta (t)

python-syntaksisilmukat

Sisäkkäisten silmukoiden ominaisuuksiin kuuluuettä minkä tyyppisen jakson sisällä voit myös käyttää minkä tahansa tyyppistä jaksoa! Tämä tarkoittaa, että for-silmukka voi olla sisäkkäin jonkin aikaa (tai) silmukassa tai uudelleen, taas, ja päinvastoin.