Kõik Python While Loopi kohta koos näidetega

Kõik Python While Loopi kohta koos näidetega

Allikasõlm: 3091323

Sissejuhatus

Ahelsilmus on Pythonis põhiline juhtimisvoo avaldus, mis võimaldab teil koodiplokki korduvalt käivitada seni, kuni teatud tingimus on tõene. See annab võimaluse korduvate toimingute automatiseerimiseks ja väärtuste jada kordamiseks. See artikkel uurib Pythoni while-tsüklite süntaksit, kasutamist ja erinevaid rakendusi.

Python while tsükkel

Sisukord

While-tsükli süntaks ja struktuur

Pythonis on while-tsükli süntaks järgmine:

while condition:
    # code to be executed

Tingimuseks on Boole'i ​​avaldis, mis määrab, kas tsükkel peaks jätkuma või lõpetama. Kui tingimus loetakse tõeseks, täidetakse tsükli sees olevat koodiplokki korduvalt. Kui tingimus muutub False, tsükkel väljub ja programm jätkab järgmise lausega pärast tsüklit.

Põhikasutus ja näited

Alustame lihtsa näitega, et mõista while-tsükli põhikasutust. Oletame, et tahame printida numbrid 1-st 5-ni. Selle saavutamiseks kasutatakse while-tsüklit, nagu allpool näidatud:

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

Väljund

1

2

3

4

5

Selles näites initsialiseerime muutuja "num" väärtuseks 1. While-tsükkel jätkub, kui "num" on väiksem kui 5 või sellega võrdne. Tsükli sees prindime väärtuse "num" ja suurendame seda 1 võrra, kasutades `+=`. Seda protsessi korratakse, kuni „arv” muutub 6-ks, kui tingimus muutub Väär ja tsükkel lõpeb.

Voolu juhtimine ahela juhtlausetega

Python pakub kolme tsükli juhtlauset, "break", "continue" ja "pass", mis võimaldavad teil juhtida while-tsükli voogu.

"Katkestuse" avaldus

Lauset "break" kasutatakse tsüklist enneaegseks väljumiseks, isegi kui tsükli tingimus on endiselt tõene. Seda kasutatakse sageli siis, kui teatud tingimus on täidetud ja soovite tsükli kohe lõpetada. Siin on näide:

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

Väljund

1

2

3

4

5

Selles näites tsükkel lõpeb, kui arvust „num” saab 6, kuna oleme tingimuse if sees kasutanud lauset „break”. Selle tulemusena trükitakse ainult numbrid 1 kuni 5.

"Jätka" avaldus

Lauset 'continue' kasutatakse tsüklis ülejäänud koodiploki vahelejätmiseks ja järgmise iteratsiooni juurde liikumiseks. See on kasulik, kui soovite teatud väärtused või tingimused vahele jätta ja jätkata järgmise iteratsiooniga. Siin on näide:

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

Väljund

1

2

4

5

Selles näites jätab tsükkel väärtuse 3 vahele, kuna oleme tingimuse if sees kasutanud lauset "jätka". Selle tulemusel numbrit 3 ei prindita ja tsükkel jätkub järgmise iteratsiooniga.

"Läbipääsu" avaldus

Avaldus "läbi" on kohatäide, kui te ei soovi tsükli sees midagi teha. Seda kasutatakse sageli arenduse ajal ajutise kohahoidjana või siis, kui soovite luua tühja tsükli. Siin on näide:

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

Selles näites ei tee avaldus „pass” midagi ja tsükkel suurendab arvu „num” väärtust, kuni sellest saab 6.

Levinud kasutusjuhtumid ja rakendused

Kuigi tsüklitel on Pythonis lai valik rakendusi. Uurime mõnda levinud kasutusjuhtu:

Kordamine, kuni tingimus on täidetud

Kuigi silmuseid kasutatakse tavaliselt siis, kui soovite itereerida, kuni teatud tingimus on täidetud. Näiteks tahame leida 2 esimese astme, mis on suurem kui 1000. Selle saavutamiseks saame kasutada tsüklit while:

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

Väljund

1024

Selles näites jätkub tsükkel seni, kuni "arv" ületab 1000. Iga iteratsiooni korral korrutatakse "arv" 2-ga ja trükitakse lõplik väärtus.

Kasutaja sisendi kinnitamine

Kuigi silmused on kasulikud kasutaja sisendi kinnitamiseks ja sisendi vastavuse tagamiseks teatud kriteeriumidele. Näiteks tahame paluda kasutajal sisestada positiivne täisarv. Sisestuse küsimiseks saame kasutada while-tsüklit, kuni sisestatakse korduvalt kehtiv täisarv:

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.")

Selles näites jätkub tsükkel lõputult, kuni sisestatakse kehtiv positiivne täisarv. Plokk „try-except” käsitleb sisendi täisarvuks teisendamisel võimalikke vigu.

Lõpmatute silmuste loomine

Kuigi silmuseid saab kasutada lõpmatute silmuste loomiseks, mis jätkuvad lõputult, kuni teatud tingimus on täidetud. Näiteks loome lihtsa lõpmatu tsükli, mis prindib "Tere, maailm!" korduvalt:

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

Selles näites on tsükli tingimus alati Tõene, seega tsükkel jätkub lõputult. Silmuse lõpetamiseks võite kasutada lauset "break" või katkestada programmi täitmine.

Lõpmatu silmus võib olla kasulik reaalajas jälgimise või logimissüsteemi kontekstis. Kujutage ette olukorda, kus peate pidevalt jälgima süsteemi või võrku konkreetsete sündmuste või muudatuste suhtes ja logima teavet. Nende tingimuste kontrollimiseks ja pidevalt asjakohaste toimingute tegemiseks võib kasutada lõpmatut ahelat.

Mänguahelate rakendamine

Kuigi silmuseid kasutatakse mänguarenduses tavaliselt mängusilmuste rakendamiseks, mis juhivad mängu voogu ja käitlevad kasutaja sisendit. Mängutsükkel koosneb tavaliselt kolmest põhikomponendist: mängu oleku värskendamine, mängu graafika renderdamine ja kasutaja sisendi käsitlemine. Siin on lihtsustatud näide:

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

Selles näites jätkub tsükkel seni, kuni muutuja „game_running” väärtus on tõene. Silmuse sees saate värskendada mängu olekut, renderdada mängu graafikat ja käsitleda kasutaja sisendit. Seda protsessi korratakse, kuni mäng lõpeb või mängija otsustab väljuda.

Loe ka: Täielik Pythoni õpetus andmeteaduse nullist õppimiseks

Pesastatud silmuste ajal ja silmuse pesastumine

Python võimaldab pesastada while-silmust, mis tähendab, et saate samasisulise tsükli teise while-tsükli sees. See on kasulik, kui peate sooritama korduvaid ülesandeid korduvate ülesannete raames. Siin on näide:

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

Väljund

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

Selles näites on meil välimine while-tsükkel, mis kordab 1 kuni 3, ja sisemine while-tsükkel, mis kordab 1 kuni 3 iga välise tsükli iteratsiooni jaoks. Sisemise tsükli sees olev printlause kuvab mõlema tsüklimuutuja väärtused.

Silmuste kasutamise näpunäited ja parimad tavad

Ehkki silmused on võimsad konstruktsioonid, võivad need valesti kasutamise korral ka vigade tekkeks. Siin on mõned näpunäited ja parimad tavad, mida tsüklite kasutamise ajal meeles pidada.

Muutujate õige lähtestamine

Enne while-tsükli sisestamist lähtestage kõik tsüklimuutujad nende algväärtustele. See tagab ahela seisundi õige hindamise ja hoiab ära ootamatu käitumise. Näiteks:

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

Selles näites initsialiseerime muutuja "count" enne tsüklisse sisenemist 0-ks.

Loop lõpetamise tagamine

Lõpmatute silmuste vältimiseks veenduge alati, et silmuse tingimus muutub lõpuks Väär. Seda saab saavutada tsüklimuutujate värskendamise või tsükli juhtlausete (nt „break”) abil. Näiteks:

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

Selles näites lõpeb tsükkel, kui "num" saab lause "break" tõttu 6-ks.

Lõpmatute silmuste vältimine

Olge while-tsüklite kasutamisel ettevaatlik, et vältida lõpmatute silmuste loomist, mis kunagi ei lõpe. Lõpmatud tsüklid võivad põhjustada programmi krahhi ja kulutada liiga palju süsteemi ressursse. Kontrollige alati oma ahela tingimusi ja veenduge, et need võivad mingil hetkel muutuda valeks.

Loetava ja hooldatava koodi kirjutamine

Kuigi tsüklid võivad muutuda keeruliseks ja raskesti mõistetavaks, kui neid pole õigesti kirjutatud. Kasutage tähendusrikkaid muutujate nimesid, lisage tsükli eesmärgi selgitamiseks kommentaare ja jagage keerulised ülesanded väiksemateks alamülesanneteks. See muudab teie koodi loetavamaks ja hooldatavamaks.

Täiustatud tehnikad ja nipid

Kuigi silmuseid saab kasutada konkreetsete ülesannete täitmiseks täiustatud viisidel. Siin on mõned täiustatud tehnikad ja nipid:

Looming Else avaldustega

Pythonis saate koodiploki käivitamiseks kasutada else-lauset koos while-tsükliga, kui tsükli tingimus muutub Väär. Teine plokk käivitatakse ainult siis, kui tsükkel on normaalselt lõpule viidud, ilma katkestuslauseteta. Siin on näide:

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

Väljund

1

2

3

4

5

Loop on lõpetatud

Selles näites käivitatakse plokk else pärast seda, kui tsükkel on normaalselt lõppenud.

Kuigi silmuste kasutamine loendite ja stringidega

Kuigi silmuseid saab kasutada loendite ja stringide itereerimiseks, kasutades indeksi muutujat. Siin on näide:

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

Väljund

õun

banaan

kirss

Selles näites itereerib while-tsükkel indeksimuutujat kasutades loendi "puuviljad" elemente.

Loe ka: Kõik, mida peaksite teadma Pythoni sisseehitatud andmestruktuuride kohta – juhend algajatele!

Võrdlus teiste Pythoni silmuskonstruktsioonidega

Kuigi silmused on vaid üks paljudest Pythonis saadaolevatest silmuskonstruktsioonidest. Võrdleme while tsüklit for tsüklite ja rekursiooniga:

Kuigi Loops vs For Loops

Kuigi iteratsiooniks kasutatakse nii silmuseid kui ka silmuseid, on neil erinevad kasutusjuhud. Kui tsüklid on paindlikumad ja saavad hakkama keeruliste tingimustega, siis tsüklid sobivad paremini väärtuste jada kordamiseks. Kuigi silmused on kasulikud, kui te ei tea täpset iteratsioonide arvu ette või peate tegema keerulisi arvutusi. Silmused on kasulikud, kui soovite korduda väärtuste jada, näiteks loendi või stringi üle.

Kuigi silmused vs. rekursioon

Rekursioon on tehnika, kus funktsioon kutsub ennast probleemi lahendamiseks. Seda saab kasutada while-tsüklitega sarnaste korduvate ülesannete saavutamiseks, kuid sellel on mõned erinevused. Kuigi silmused sobivad paremini iteratiivsete ülesannete jaoks, kus teil on selge lõpetamise tingimus ja peate sooritama fikseeritud arvu iteratsioone. Rekursioon sobib paremini väiksemateks alamülesanneteks jagatud ülesannete lahendamiseks, näiteks otsimise, sortimise ja puu läbimise algoritmid.

Järeldus

Selles artiklis uurisime Pythonis kasutatavate while-tsüklite kontseptsiooni. Õppisime tundma nende süntaksit, põhikasutust ja erinevaid rakendusi. Arutasime ka näpunäiteid, parimaid tavasid, levinud vigu ja täiustatud tehnikaid while-silmuste kasutamiseks. Lõpuks võrdlesime samas silmuseid teiste Pythoni silmuskonstruktsioonidega. Nende teadmiste abil saate nüüd tõhusalt kasutada while-silmuseid korduvate toimingute automatiseerimiseks ja väärtuste jadade kordamiseks oma Pythoni programmides.

Avage AI ja ML tipptaseme jõud! Registreeruge nüüd meie lehele Sertifitseeritud AI ja ML BlackBelt Plus programm ja tõsta oma oskused uutele kõrgustele. Ärge jätke kasutamata võimalust omandada uusimad tehnoloogiad – muutke oma karjääri juba täna!

Samuti, kui otsite Pythoni kursust veebis, uurige meie - Sissejuhatus Pythoni programmi täna!

Ajatempel:

Veel alates Analüütika Vidhya