Kaikki Python While Loopista esimerkkien kanssa

Kaikki Python While Loopista esimerkkien kanssa

Lähdesolmu: 3091323

esittely

While-silmukka on Pythonin perusohjausvirtalauseke, jonka avulla voit suorittaa koodilohkon toistuvasti niin kauan kuin tietty ehto on tosi. Se tarjoaa tavan automatisoida toistuvia tehtäviä ja toistaa arvosarjaa. Tämä artikkeli tutkii Pythonin while-silmukoiden syntaksia, käyttöä ja erilaisia ​​sovelluksia.

Python, kun silmukka

Sisällysluettelo

While-silmukan syntaksi ja rakenne

Pythonin while-silmukan syntaksi on seuraava:

while condition:
    # code to be executed

Ehto on Boolen lauseke, joka määrittää, pitäisikö silmukan jatkaa vai lopettaa. Jos ehdon katsotaan olevan True, silmukan sisällä oleva koodilohko suoritetaan toistuvasti. Kun ehdosta tulee False, silmukka poistuu ja ohjelma jatkaa seuraavalla lauseella silmukan jälkeen.

Peruskäyttö ja esimerkit

Aloitetaan yksinkertaisella esimerkillä ymmärtääksesi while-silmukan peruskäytön. Oletetaan, että haluamme tulostaa numerot 1:stä 5:een. Voimme saavuttaa tämän käyttämällä while-silmukkaa, kuten alla on esitetty:

num = 1
while num <= 5:
    print(num)
    num += 1

ulostulo

1

2

3

4

5

Tässä esimerkissä alustamme muuttujan "num" 1:ksi. While-silmukka jatkuu, jos "num" on pienempi tai yhtä suuri kuin 5. Silmukan sisään tulostamme arvon "num" ja lisäämme sitä sitten yhdellä käyttämällä `+=`-operaattori. Tämä prosessi toistuu, kunnes numerosta tulee 1, kun ehdosta tulee False ja silmukka päättyy.

Virran ohjaaminen silmukkaohjauslausekkeilla

Python tarjoaa kolme silmukan ohjauskäskyä, "break", "jatka" ja "pass", joiden avulla voit hallita while-silmukan kulkua.

"Tauko" lausunto

"break"-käskyä käytetään poistumaan silmukasta ennenaikaisesti, vaikka silmukan ehto olisi edelleen tosi. Sitä käytetään usein, kun tietty ehto täyttyy ja haluat lopettaa silmukan välittömästi. Tässä on esimerkki:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

ulostulo

1

2

3

4

5

Tässä esimerkissä silmukka päättyy, kun numerosta tulee 6, koska olemme käyttäneet 'break'-lausetta if-ehdon sisällä. Tämän seurauksena vain numerot 1-5 tulostetaan.

"Jatka" lausunto

Continue-käskyä käytetään ohittamaan loput koodilohkosta silmukan sisällä ja siirtymään seuraavaan iteraatioon. Se on hyödyllinen, kun haluat ohittaa tietyt arvot tai ehdot ja jatkaa seuraavalla iteraatiolla. Tässä on esimerkki:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

ulostulo

1

2

4

5

Tässä esimerkissä silmukka ohittaa arvon 3, koska olemme käyttäneet "continue" -lausetta if-ehdon sisällä. Tämän seurauksena numeroa 3 ei tulosteta, ja silmukka jatkuu seuraavalla iteraatiolla.

"Läpivienti" -lausunto

Pass-lause on paikkamerkki, kun et halua tehdä mitään silmukan sisällä. Sitä käytetään usein väliaikaisena paikkamerkkinä kehityksen aikana tai kun haluat luoda tyhjän silmukan. Tässä on esimerkki:

num = 1
while num <= 5:
    pass
    num += 1

Tässä esimerkissä pass-lause ei tee mitään, ja silmukka lisää numeron arvoa, kunnes siitä tulee 6.

Yleiset käyttötapaukset ja sovellukset

Silmukoilla on Pythonissa laaja valikoima sovelluksia. Katsotaanpa joitain yleisiä käyttötapauksia:

Toistetaan, kunnes ehto täyttyy

Silmukoita käytetään yleisesti, kun haluat iteroida, kunnes tietty ehto täyttyy. Haluamme esimerkiksi löytää 2:n ensimmäisen potenssin, joka on suurempi kuin 1000. Voimme käyttää while-silmukkaa saavuttaaksemme tämän:

num = 1
while num <= 1000:
    num *= 2
print(num)

ulostulo

1024

Tässä esimerkissä silmukka jatkuu, kunnes "num" ylittää 1000 2. Jokaisessa iteraatiossa "num" kerrotaan kahdella, ja lopullinen arvo tulostetaan.

Käyttäjän syötteen vahvistaminen

Silmukat ovat hyödyllisiä käyttäjän syötteen vahvistamiseen ja sen varmistamiseen, että syöte täyttää tietyt kriteerit. Haluamme esimerkiksi kehottaa käyttäjää syöttämään positiivisen kokonaisluvun. Voimme käyttää while-silmukkaa pyytääksemme syötteitä, kunnes kelvollinen kokonaisluku syötetään toistuvasti:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

Tässä esimerkissä silmukka jatkuu loputtomasti, kunnes syötetään kelvollinen positiivinen kokonaisluku. "Try-Except" -lohko käsittelee mahdolliset virheet muunnettaessa syötettä kokonaisluvuksi.

Infinite Loops -silmukoiden luominen

Silmukoita voidaan käyttää äärettömien silmukoiden luomiseen, jotka jatkuvat loputtomiin, kunnes tietty ehto täyttyy. Luodaan esimerkiksi yksinkertainen ääretön silmukka, joka tulostaa "Hei, maailma!" toistuvasti:

while True:
    print("Hello, World!")

Tässä esimerkissä silmukan ehto on aina True, joten silmukka jatkuu loputtomiin. Voit lopettaa silmukan käyttämällä `break`-lausetta tai keskeyttää ohjelman suorituksen.

Ääretön silmukka voi olla hyödyllinen reaaliaikaisen seuranta- tai lokijärjestelmän yhteydessä. Kuvittele tilanne, jossa sinun on jatkuvasti seurattava järjestelmää tai verkkoa tiettyjen tapahtumien tai muutosten varalta ja kirjattava tiedot. Näiden ehtojen tarkistamiseksi ja tarvittavien toimien toteuttamiseksi voidaan käyttää ääretöntä silmukkaa.

Pelisilmukoiden toteuttaminen

Vaikka silmukoita käytetään yleisesti pelien kehityksessä toteuttamaan pelisilmukoita, jotka ohjaavat pelin kulkua ja käsittelevät käyttäjän syötteitä. Pelisilmukka koostuu tyypillisesti kolmesta pääkomponentista: pelin tilan päivittämisestä, pelin grafiikan renderöimisestä ja käyttäjän syötteiden käsittelystä. Tässä on yksinkertaistettu esimerkki:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

Tässä esimerkissä silmukka jatkuu niin kauan kuin "game_running" -muuttuja on True. Silmukan sisällä päivität pelin tilan, renderöit pelin grafiikan ja käsittelet käyttäjän syötteitä. Tämä prosessi toistuu, kunnes peli päättyy tai pelaaja päättää poistua.

Lue myös: Täydellinen Python-opastus tietotieteen oppimiseen tyhjästä

Sisäkkäiset silmukat ja silmukan sisäkkäiset

Python sallii sisäkkäisen while-silmukan, mikä tarkoittaa, että sinulla voi olla while-silmukka toisen while-silmukan sisällä. Tämä on hyödyllistä, kun sinun on suoritettava toistuvia tehtäviä toistuvien tehtävien sisällä. Tässä on esimerkki:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

ulostulo

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

Tässä esimerkissä meillä on ulompi while-silmukka, joka iteroituu välillä 1-3, ja sisäinen while-silmukka, joka iteroituu välillä 1-3 jokaiselle ulomman silmukan iteraatiolle. Sisäsilmukan sisällä oleva print-lause näyttää molempien silmukkamuuttujien arvot.

Vinkkejä ja parhaita käytäntöjä While Loopsin käyttöön

Vaikka silmukat ovat tehokkaita rakenteita, ne voivat myös olla alttiita virheille, jos niitä ei käytetä oikein. Tässä on joitain vinkkejä ja parhaita käytäntöjä, jotka tulee pitää mielessä, kun käytät while-silmukoita:

Muuttujien alustaminen oikein

Ennen kuin syötät while-silmukan, alusta kaikki silmukan muuttujat alkuarvoihinsa. Tämä varmistaa, että silmukan ehto arvioidaan oikein ja estää odottamattoman toiminnan. Esimerkiksi:

count = 0
while count < 10:
    print(count)
    count += 1

Tässä esimerkissä alustamme muuttujan "count" arvoon 0 ennen silmukkaan siirtymistä.

Silmukan päättämisen varmistaminen

Välttääksesi äärettömiä silmukoita varmista aina, että silmukan ehdosta tulee lopulta False. Tämä voidaan saavuttaa päivittämällä silmukkamuuttujia tai käyttämällä silmukan ohjauskäskyjä, kuten "break". Esimerkiksi:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Tässä esimerkissä silmukka päättyy, kun numerosta tulee 6 break-lauseen vuoksi.

Infinite Loops -silmukoiden välttäminen

Ole varovainen, kun käytät while-silmukoita, jotta et luo loputtomia silmukoita, jotka eivät koskaan pääty. Äärettömät silmukat voivat johtaa ohjelmien kaatumiseen ja kuluttaa liikaa järjestelmäresursseja. Tarkista aina silmukan ehdot ja varmista, että niistä voi jossain vaiheessa tulla vääriä.

Luettavan ja ylläpidettävän koodin kirjoittaminen

Silmukat voivat olla monimutkaisia ​​ja vaikeita ymmärtää, jos niitä ei ole kirjoitettu oikein. Käytä merkityksellisiä muuttujien nimiä, lisää kommentteja silmukan tarkoituksen selittämiseksi ja jaa monimutkaiset tehtävät pienempiin osatehtäviin. Tämä tekee koodistasi luettavamman ja ylläpidettävämmän.

Edistyneitä tekniikoita ja temppuja

Silmukoita voidaan käyttää edistyneillä tavoilla tiettyjen tehtävien saavuttamiseen. Tässä on joitain edistyneitä tekniikoita ja temppuja:

Kierrellen Elsen lausuntojen kanssa

Pythonissa voit käyttää else-lausetta, jossa on while-silmukka suorittaaksesi koodilohkon, kun silmukan ehdosta tulee False. Toinen lohko suoritetaan vain, jos silmukka on suoritettu normaalisti ilman katkeamiskäskyjä. Tässä on esimerkki:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

ulostulo

1

2

3

4

5

Kierros valmis

Tässä esimerkissä else-lohko suoritetaan silmukan päätyttyä normaalisti.

While-silmukoiden käyttö listojen ja merkkijonojen kanssa

Vaikka silmukoita voidaan käyttää iteroitaessa luetteloita ja merkkijonoja käyttämällä indeksimuuttujaa. Tässä on esimerkki:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

ulostulo

omena

banaani

kirsikka

Tässä esimerkissä while-silmukka toistuu hedelmäluettelon elementtien yli käyttämällä indeksimuuttujaa.

Lue myös: Kaikki mitä sinun tulee tietää Pythonin sisäänrakennetuista tietorakenteista – Aloittelijan opas!

Vertailu muihin Pythonin silmukkarakenteisiin

Silmukat ovat vain yksi useista Pythonissa saatavilla olevista silmukkarakenteista. Verrataan while-silmukoita for-silmukoihin ja rekursioon:

While Loops vs. For Loops

Vaikka sekä silmukoita että silmukoita käytetään iteraatioon, niillä on erilaisia ​​käyttötapauksia. Silmukat ovat joustavampia ja pystyvät käsittelemään monimutkaisia ​​olosuhteita, kun taas for-silmukat sopivat paremmin arvosarjan iterointiin. Silmukat ovat hyödyllisiä, kun et tiedä tarkkaa iteraatioiden määrää etukäteen tai sinun on suoritettava monimutkaisia ​​laskutoimituksia. Silmukat ovat hyödyllisiä, kun haluat iteroida arvosarjan, kuten luettelon tai merkkijonon, yli.

Vaikka silmukat vs. rekursio

Rekursio on tekniikka, jossa funktio kutsuu itseään ratkaistakseen ongelman. Sitä voidaan käyttää toistuvien tehtävien suorittamiseen, jotka ovat samanlaisia ​​kuin while-silmukat, mutta sillä on joitain eroja. Silmukat sopivat paremmin iteratiivisiin tehtäviin, joissa sinulla on selkeä lopetusehto ja sinun on suoritettava tietty määrä iteraatioita. Rekursio soveltuu paremmin pienempiin osaongelmiin jaettujen ongelmien ratkaisemiseen, kuten haku-, lajittelu- ja puun läpikulkualgoritmit.

Yhteenveto

Tässä artikkelissa tutkimme Pythonin while-silmukoiden käsitettä. Opimme niiden syntaksista, peruskäytöstä ja erilaisista sovelluksista. Keskustelimme myös vinkeistä, parhaista käytännöistä, yleisistä virheistä ja edistyneistä tekniikoista while-silmukoiden käyttämiseen. Lopuksi verrasimme while-silmukoita muihin Pythonin silmukkarakenteisiin. Tämän tiedon avulla voit nyt tehokkaasti käyttää while-silmukoita automatisoidaksesi toistuvia tehtäviä ja iteroidaksesi Python-ohjelmiesi arvosarjoja.

Avaa tekoälyn ja ML:n huippuosaamisen voima! Ilmoittaudu nyt meidän Sertifioitu AI & ML BlackBelt Plus -ohjelma ja nosta taitosi uusiin korkeuksiin. Älä missaa mahdollisuutta hallita uusimpia tekniikoita – muuta urasi jo tänään!

Lisäksi, jos etsit Python-kurssia verkossa, tutustu - Johdatus Python-ohjelmaan tänään!

Aikaleima:

Lisää aiheesta Analyysi Vidhya