Vse o Python While Loop s primeri

Vse o Python While Loop s primeri

Izvorno vozlišče: 3091323

Predstavitev

Zanka while je temeljni stavek nadzornega toka v Pythonu, ki vam omogoča večkratno izvajanje bloka kode, dokler je določen pogoj resničen. Zagotavlja način za avtomatizacijo ponavljajočih se nalog in ponavljanje zaporedja vrednosti. Ta članek bo raziskal sintakso, uporabo in različne aplikacije while zank v Pythonu.

Python while zanka

Kazalo

Sintaksa in struktura zanke While

Sintaksa zanke while v Pythonu je naslednja:

while condition:
    # code to be executed

Pogoj je logični izraz, ki določa, ali naj se zanka nadaljuje ali konča. Če se pogoj šteje za True, se bo kodni blok znotraj zanke izvajal večkrat. Ko pogoj postane False, bo zanka zapustila in program bo nadaljeval z naslednjim stavkom po zanki.

Osnovna uporaba in primeri

Začnimo s preprostim primerom za razumevanje osnovne uporabe zanke while. Recimo, da želimo natisniti številke od 1 do 5. To lahko dosežemo z uporabo zanke while, kot je prikazano spodaj:

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

izhod

1

2

3

4

5

V tem primeru inicializiramo spremenljivko `num` na 1. Zanka while se nadaljuje, če je `num` manjše ali enako 5. Znotraj zanke natisnemo vrednost `num` in jo nato povečamo za 1 z uporabo operator `+=`. Ta postopek se ponavlja, dokler `num` ne postane 6, ko pogoj postane False in se zanka konča.

Krmiljenje toka s stavki za krmiljenje zanke

Python nudi tri stavke za nadzor zanke, 'break', 'continue' in 'pass,', ki vam omogočajo nadzor nad tokom zanke while.

Izjava "break".

Stavek `break` se uporablja za predčasen izhod iz zanke, tudi če je pogoj zanke še vedno resničen. Pogosto se uporablja, ko je izpolnjen določen pogoj in želite takoj prekiniti zanko. Tukaj je primer:

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

izhod

1

2

3

4

5

V tem primeru se zanka konča, ko `num` postane 6, ker smo znotraj pogoja if uporabili stavek `break`. Posledično se izpišejo samo številke od 1 do 5.

Izjava "nadaljuj".

Stavek `nadaljuj` se uporablja za preskok preostalega bloka kode znotraj zanke in prehod na naslednjo ponovitev. Uporabno je, ko želite preskočiti določene vrednosti ali pogoje in nadaljevati z naslednjo ponovitvijo. Tukaj je primer:

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

izhod

1

2

4

5

V tem primeru zanka preskoči vrednost 3, ker smo znotraj pogoja if uporabili stavek »nadaljuj«. Kot rezultat, številka 3 ni natisnjena in zanka se nadaljuje z naslednjo ponovitvijo.

Izjava »prej«.

Stavek `pass` je ograda, ko ne želite narediti ničesar znotraj zanke. Pogosto se uporablja kot začasna oznaka mesta med razvojem ali ko želite ustvariti prazno zanko. Tukaj je primer:

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

V tem primeru stavek `pass` ne naredi ničesar in zanka poveča vrednost `num`, dokler ne postane 6.

Pogosti primeri uporabe in aplikacije

Medtem ko imajo zanke širok nabor aplikacij v Pythonu. Raziščimo nekaj običajnih primerov uporabe:

Ponavljanje, dokler ni izpolnjen pogoj

Medtem ko se zanke običajno uporabljajo, ko želite ponavljati, dokler ni izpolnjen določen pogoj. Na primer, želimo najti prvo potenco 2, večjo od 1000. Za dosego tega lahko uporabimo zanko while:

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

izhod

1024

V tem primeru se zanka nadaljuje, dokler `num` ne preseže 1000. Za vsako ponovitev se `num` pomnoži z 2 in natisne se končna vrednost.

Preverjanje uporabniškega vnosa

Medtem ko so zanke uporabne za preverjanje uporabniškega vnosa in zagotavljanje, da vnos izpolnjuje določene kriterije. Uporabnika želimo na primer pozvati k vnosu pozitivnega celega števila. Uporabimo lahko zanko while, da zahtevamo vnos, dokler ni večkrat vneseno veljavno celo število:

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

V tem primeru se zanka nadaljuje v nedogled, dokler ni vneseno veljavno pozitivno celo število. Blok `poskusi-razen` obravnava morebitne napake pri pretvorbi vnosa v celo število.

Ustvarjanje neskončnih zank

Medtem ko zanke lahko uporabite za ustvarjanje neskončnih zank, ki se nadaljujejo v nedogled, dokler ni izpolnjen določen pogoj. Na primer, ustvarimo preprosto neskončno zanko, ki natisne "Hello, World!" večkrat:

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

V tem primeru je pogoj zanke vedno True, zato se zanka nadaljuje v nedogled. Za prekinitev zanke lahko uporabite stavek `break` ali prekinete izvajanje programa.

Neskončna zanka je lahko uporabna v kontekstu sistema spremljanja ali beleženja v realnem času. Predstavljajte si situacijo, ko morate stalno spremljati sistem ali omrežje za določene dogodke ali spremembe in beležiti informacije. Za preverjanje teh pogojev in nenehno izvajanje ustreznih ukrepov bi lahko uporabili neskončno zanko.

Izvajanje igralnih zank

Medtem ko se zanke običajno uporabljajo pri razvoju iger za izvajanje igralnih zank, ki nadzorujejo potek igre in obravnavajo uporabniške vnose. Igralna zanka je običajno sestavljena iz treh glavnih komponent: posodabljanje stanja igre, upodabljanje grafike igre in obravnavanje uporabniškega vnosa. Tukaj je poenostavljen primer:

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

V tem primeru se zanka nadaljuje, dokler je spremenljivka `game_running` nastavljena na True. Znotraj zanke bi posodobili stanje igre, upodobili grafiko igre in obdelali uporabniški vnos. Ta postopek se ponavlja, dokler se igra ne konča ali se igralec odloči za izhod.

Preberite tudi: Popolna vadnica za Python za učenje znanosti o podatkih iz nič

Ugnezdene zanke in gnezdenje zank

Python vam omogoča, da ugnezdite zanke while, kar pomeni, da imate lahko zanko while znotraj druge zanke while. To je uporabno, ko morate izvajati ponavljajoče se naloge znotraj ponavljajočih se nalog. Tukaj je primer:

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

izhod

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

V tem primeru imamo zunanjo zanko while, ki ponavlja od 1 do 3, in notranjo zanko while, ki ponavlja od 1 do 3 za vsako ponovitev zunanje zanke. Stavek za tiskanje znotraj notranje zanke prikaže vrednosti obeh spremenljivk zanke.

Nasveti in najboljše prakse za uporabo zank While

Čeprav so zanke močni konstrukti, so lahko tudi nagnjene k napakam, če se ne uporabljajo pravilno. Tukaj je nekaj nasvetov in najboljših praks, ki jih morate upoštevati pri uporabi zank while:

Pravilna inicializacija spremenljivk

Preden vstopite v zanko while, inicializirajte vse spremenljivke zanke na njihove začetne vrednosti. To zagotavlja, da je pogoj zanke pravilno ovrednoten, in preprečuje nepričakovano vedenje. Na primer:

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

V tem primeru inicializiramo spremenljivko `count` na 0, preden vstopimo v zanko.

Zagotavljanje prekinitve zanke

Da bi se izognili neskončnim zankam, vedno zagotovite, da bo pogoj zanke na koncu postal False. To je mogoče doseči s posodobitvijo spremenljivk zanke ali uporabo stavkov za nadzor zanke, kot je `break`. Na primer:

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

V tem primeru se zanka prekine, ko `num` postane 6 zaradi stavka `break`.

Izogibanje neskončnim zankam

Pri uporabi zank while bodite previdni, da se izognete ustvarjanju neskončnih zank, ki se nikoli ne končajo. Neskončne zanke lahko povzročijo zrušitve programa in porabijo prekomerne sistemske vire. Vedno znova preverite svoje pogoje zanke in zagotovite, da lahko na neki točki postanejo False.

Pisanje berljive in vzdržljive kode

Čeprav zanke lahko postanejo zapletene in težko razumljive, če niso pravilno zapisane. Uporabite smiselna imena spremenljivk, dodajte komentarje, da pojasnite namen zanke, in razčlenite zapletena opravila na manjše podnaloge. Tako je vaša koda bolj berljiva in vzdržljiva.

Napredne tehnike in triki

Medtem ko lahko zanke uporabite na napredne načine za doseganje določenih nalog. Tukaj je nekaj naprednih tehnik in trikov:

Zankanje s stavki Else

V Pythonu lahko uporabite stavek else z zanko while za izvedbo bloka kode, ko pogoj zanke postane False. Drugi blok se izvede le, če se zanka normalno zaključi brez kakršnih koli stavkov za prekinitev. Tukaj je primer:

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

izhod

1

2

3

4

5

Zanka končana

V tem primeru se blok else izvede, ko se zanka normalno zaključi.

Uporaba zank While s seznami in nizi

Medtem ko lahko uporabite zanke za ponavljanje seznamov in nizov z uporabo indeksne spremenljivke. Tukaj je primer:

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

izhod

jabolko

banana

češnja

V tem primeru zanka while ponavlja elemente seznama `fruits` z uporabo spremenljivke indeks.

Preberite tudi: Vse, kar bi morali vedeti o vgrajenih podatkovnih strukturah v Pythonu – Vodnik za začetnike!

Primerjava z drugimi konstrukcijami zanke v Pythonu

Medtem ko so zanke le ena od številnih konstrukcij zank, ki so na voljo v Pythonu. Primerjajmo zanke while z zankami for in rekurzijo:

Zanke While proti zankam For

Medtem ko se zanke in zanke uporabljajo za iteracijo, imajo različne primere uporabe. Zanke While so bolj prilagodljive in lahko obravnavajo zapletene pogoje, medtem ko so zanke for bolj primerne za ponavljanje po zaporedju vrednosti. Medtem ko so zanke uporabne, ko ne veste natančnega števila ponovitev vnaprej ali morate izvesti zapletene izračune. Zanke so uporabne, ko želite iterirati čez zaporedje vrednosti, kot je seznam ali niz.

Medtem ko zanke proti rekurziji

Rekurzija je tehnika, pri kateri funkcija pokliče samo sebe, da reši problem. Uporablja se lahko za doseganje ponavljajočih se nalog, podobnih zankam while, vendar ima nekaj razlik. Medtem ko so zanke primernejše za iterativne naloge, kjer imate jasen prekinitveni pogoj in morate izvesti fiksno število ponovitev. Rekurzija je primernejša za reševanje problemov, razdeljenih na manjše podprobleme, kot so algoritmi iskanja, razvrščanja in prečkanja dreves.

zaključek

V tem članku smo raziskali koncept zank while v Pythonu. Spoznali smo njihovo sintakso, osnovno uporabo in različne aplikacije. Razpravljali smo tudi o nasvetih, najboljših praksah, pogostih napakah in naprednih tehnikah za uporabo medtem ko zank. Na koncu smo primerjali zanke while z drugimi konstrukcijami zank v Pythonu. S tem znanjem lahko zdaj učinkovito uporabljate zanke while za avtomatizacijo ponavljajočih se nalog in ponavljanje zaporedij vrednosti v vaših programih Python.

Odklenite moč odličnosti AI & ML! Prijavite se zdaj v naše Certificiran program AI & ML BlackBelt Plus in dvignite svoje sposobnosti v nove višave. Ne zamudite priložnosti za obvladovanje najnovejših tehnologij – spremenite svojo kariero že danes!

Če iščete spletni tečaj Python, raziščite naše – Uvod v program Python še danes!

Časovni žig:

Več od Analitika Vidhya