logo

Python While Loop

Python Medtem ko Loop se uporablja za ponavljajoče se izvajanje bloka stavkov, dokler ni izpolnjen dani pogoj. Ko pogoj postane napačen, se izvede vrstica takoj za zanko v programu.

Sintaksa zanke while v Pythonu

  while  expression:  statement(s)>

Diagram poteka Python While Loop

Python While Loop

Medtem ko zanka spada v kategorijo nedoločeno ponavljanje . Nedoločena iteracija pomeni, da število izvajanj zanke ni izrecno določeno vnaprej.



Stavki predstavljajo vse stavke, zamaknjene z enakim številom presledkov znakov po tem, ko se programski konstrukt šteje za del enega bloka kode. Python uporablja zamik kot svojo metodo združevanja stavkov. Ko se izvede zanka while, se izraz najprej ovrednoti v logičnem kontekstu in če je resničen, se izvede telo zanke. Nato se izraz znova preveri, če je še vedno resničen, se telo znova izvede in to se nadaljuje, dokler izraz ne postane false.

Razlika med Python For Loop in Python While Loop

Glavna razlika med Python For Loop in Python While Loop je ta, da se Python for zanka običajno uporablja, ko je število ponovitev znan , medtem ko se zanka Python while uporablja, ko je število ponovitev neznano



Python While Loop

V tem primeru bo pogoj za while veljal True, dokler je spremenljivka števca (count) manjša od 3.

Python

string.replaceall java






# Python program to illustrate> # while loop> count>=> 0> while> (count <>3>):> >count>=> count>+> 1> >print>(>'Hello Geek'>)>

>

>

Izhod

Hello Geek Hello Geek Hello Geek>

Neskončna zanka while v Pythonu

Tukaj je vrednost pogoja vedno True. Zato se telo zanke neskončno izvaja, dokler pomnilnik ni poln.

Python




age>=> 28> > # the test condition is always True> while> age>>19>:> >print>(>'Infinite Loop'>)>

>

>

Kontrolni stavki v Pythonu s primeri

Stavki za krmiljenje zanke spremenijo izvajanje iz običajnega zaporedja. Ko izvajanje zapusti obseg, so vsi samodejni objekti, ki so bili ustvarjeni v tem obsegu, uničeni. Python podpira naslednje kontrolne stavke.

Python while zanka s stavkom continue

Python Nadaljujte z izjavo vrne nadzor na začetek zanke.

Python




# Prints all letters except 'e' and 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >continue> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1>

>

>

Izhod

Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k>

Pythonova zanka while s stavkom break

Python Break Statement izloči nadzor iz zanke.

Python


kakšna je velikost zaslona mojega računalnika



# break the loop as soon it sees 'e'> # or 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >break> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1>

>

>

Izhod

Current Letter : g>

Python while zanka s stavkom pass

Stavek Python pass za pisanje praznih zank. Pass se uporablja tudi za prazne kontrolne stavke, funkcije in razrede.

Python




# An empty loop> a>=> 'geeksforgeeks'> i>=> 0> > while> i <>len>(a):> >i>+>=> 1> >pass> > print>(>'Value of i :'>, i)>

>

>

Izhod

Value of i : 13>

Medtem ko zanka z else

Kot je razloženo zgoraj, zanka while izvaja blok, dokler ni izpolnjen pogoj. Ko pogoj postane napačen, se izvede stavek takoj po zanki. Klavzula else se izvede le, ko vaš pogoj while postane napačen. Če izstopite iz zanke ali če se sproži izjema, se ne bo izvršila.

Opomba: Blok else takoj za for/while se izvede le, če zanke NE zaključi stavek break.

Python




# Python program to demonstrate> # while-else loop> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> else>:># Executed because no break in for> >print>(>'No Break '>)> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> >break> else>:># Not executed as there is a break> >print>(>'No Break'>)>

algoritem razvrščanja z združevanjem

>

>

Izhod

1 2 3 4 No Break 1>

Sentinel Controlled Statement

Pri tem ne uporabljamo nobene spremenljivke števca, ker ne vemo, kolikokrat se bo zanka izvedla. Tu se uporabnik odloči, kolikokrat želi izvesti zanko. Za to uporabljamo kontrolno vrednost. Sentinel vrednost je vrednost, ki se uporablja za prekinitev zanke, kadar koli jo uporabnik vnese; na splošno je sentinel vrednost -1.

Python while zanka z uporabniškim vnosom

Tukaj najprej od uporabnika zahteva, da vnese številko. če uporabnik vnese -1, se zanka ne bo izvedla, tj.

  • Uporabnik vnese 6 in telo zanke se izvede in ponovno zahteva vnos
  • Tukaj lahko uporabnik vnese večkrat, dokler ne vnese -1, da ustavi zanko
  • Uporabnik se lahko odloči, kolikokrat želi vnesti vnos

Python




a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> > while> a !>=> ->1>:> >a>=> int>(>input>(>'Enter a number (-1 to quit): '>))>

>

>

Izhod:

Izhodna slika zaslona

Medtem ko zanka z logičnimi vrednostmi

Ena pogosta uporaba logičnih vrednosti v zankah while je ustvarjanje neskončne zanke, ki jo je mogoče izstopiti le na podlagi nekega pogoja znotraj zanke.

natisni niz v javi

Primer :

V tem primeru inicializiramo števec in nato uporabimo neskončno zanko while (True je vedno res), da povečamo števec in natisnemo njegovo vrednost. Preverimo, ali je števec dosegel določeno vrednost in če je, izstopimo iz zanke s stavkom break.

Python




# Initialize a counter> count>=> 0> > # Loop infinitely> while> True>:> ># Increment the counter> >count>+>=> 1> >print>(f>'Count is {count}'>)> > ># Check if the counter has reached a certain value> >if> count>=>=> 10>:> ># If so, exit the loop> >break> > # This will be executed after the loop exits> print>(>'The loop has ended.'>)>

>

>

Izhod

Count is 1 Count is 2 Count is 3 Count is 4 Count is 5 Count is 6 Count is 7 Count is 8 Count is 9 Count is 10 The loop has ended.>

Python while zanka s seznamom Python

V tem primeru smo zagnali zanko while nad seznamom, ki se bo izvajala, dokler na seznamu ni elementa.

Python




# checks if list still> # contains any element> a>=> [>1>,>2>,>3>,>4>]> > while> a:> >print>(a.pop())>

>

>

Izhod

4 3 2 1>

Enotni stavek medtem ko je blok

Tako kot blok if, če je blok while sestavljen iz enega stavka, lahko celotno zanko deklariramo v eni vrstici. Če je v bloku, ki sestavlja telo zanke, več stavkov, jih je mogoče ločiti s podpičji (;).

Python




# Python program to illustrate> # Single statement while block> count>=> 0> while> (count <>5>):> >count>+>=> 1> >print>(>'Hello Geek'>)>

>

>

Izhod

Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>

Vprašanja za vajo Python While Loop

Spodaj sta dve vprašanji za vaje o zanki while v Pythonu. Zajeli smo 2 pomembni vprašanji glede vadbe, ki temeljita na programu za odbijanje žoge in programu z odštevanjem.

Q1. Vprašanje za vajo z zanko, ki temelji na problemu z odskočno žogo

Python




initial_height>=> 10> bounce_factor>=> 0.5> height>=> initial_height> while> height>>0.1>:> >print>(>'The ball is at a height of'>, height,>'meters.'>)> >height>*>=> bounce_factor> print>(>'The ball has stopped bouncing.'>)>

>

>

Izhod

kako zapreti razvijalski način
The ball is at a height of 10 meters. The ball is at a height of 5.0 meters. The ball is at a height of 2.5 meters. The ball is at a height of 1.25 meters. The ball is at a height of 0.625 meters. The ball is at a height of 0.3125 meters. The ball is at a height of 0.15625 meters. The ball has stopped bouncing.>

Q2. Enostavna vadbena koda zanke za izdelavo odštevalne ure

Python




countdown>=> 10> while> countdown>>0>:> >print>(countdown)> >countdown>->=> 1> print>(>'Blast off!'>)>

>

>

Izhod

10 9 8 7 6 5 4 3 2 1 Blast off!>