logo

Python While Loop

Python Vaikka Loop käytetään lauselohkon suorittamiseen toistuvasti, kunnes tietty ehto täyttyy. Kun ehdosta tulee epätosi, välittömästi ohjelman silmukan jälkeinen rivi suoritetaan.

While-silmukan syntaksi Pythonissa

  while  expression:  statement(s)>

Python While Loop -vuokaavio

Python While Loop

Vaikka silmukka kuuluu luokkaan määrittelemätön iteraatio . Epämääräinen iteraatio tarkoittaa, että silmukan suorituskertojen määrää ei ole erikseen määritelty etukäteen.



Lausekkeet edustavat kaikkia lauseita, jotka on sisennetty samalla määrällä merkkiväliä sen jälkeen, kun ohjelmointikonstruktin katsotaan olevan osa yhtä koodilohkoa. Python käyttää sisennystä lauseiden ryhmittelytapana. Kun while-silmukka suoritetaan, expr arvioidaan ensin Boolen kontekstissa ja jos se on tosi, silmukan runko suoritetaan. Sitten lauseke tarkistetaan uudelleen, jos se on edelleen tosi, suoritetaan runko uudelleen ja tätä jatketaan, kunnes lausekkeesta tulee epätosi.

Ero välillä Python For Loop ja Python While Loop

Suurin ero Python For Loopin ja Python While Loopin välillä on se, että Python for loop -ohjelmaa käytetään yleensä, kun iteraatioiden määrä on tiedossa , kun taas Python while -silmukkaa käytetään, kun iteraatioiden määrä on tuntematon



Python While Loop

Tässä esimerkissä while-ehto on True niin kauan kuin laskurimuuttuja (count) on pienempi kuin 3.

Python




java ohjelma



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

>

>

Lähtö

Hello Geek Hello Geek Hello Geek>

Infinite while Loop Pythonissa

Tässä ehdon arvo on aina True. Siksi silmukan runkoa ajetaan äärettömästi, kunnes muisti on täynnä.

Python




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

>

>

Ohjauslausekkeet Pythonissa esimerkein

Silmukan ohjauskäskyt muuttavat suoritusta normaalista järjestyksestään. Kun suoritus jättää soveltamisalan, kaikki kyseisessä laajuudessa luodut automaattiset objektit tuhoutuvat. Python tukee seuraavia ohjauslauseita.

Python while -silmukka jatka-lauseella

Python Jatka lausuntoa palauttaa ohjauksen silmukan alkuun.

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>

>

>

Lähtö

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

Python while -silmukka break-lauseella

Python Taukolausunto tuo hallinnan pois silmukasta.

Python




java korvaa kaikki

# 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>

>

>

Lähtö

Current Letter : g>

Python while -silmukka pass-lauseella

Pythonin pass-käsky kirjoittaa tyhjiä silmukoita. Passia käytetään myös tyhjille ohjauslauseille, funktioille ja luokille.

Python




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

>

>

Lähtö

Value of i : 13>

Vaikka silmukka muun kanssa

Kuten edellä mainittiin, while-silmukka suorittaa lohkon, kunnes ehto täyttyy. Kun ehdosta tulee epätosi, lauseke välittömästi silmukan jälkeen suoritetaan. Muu lauseke suoritetaan vain, kun while-ehto muuttuu epätosi. Jos murtaudut silmukasta tai jos poikkeus nostetaan esiin, sitä ei suoriteta.

Huomautus: Muu-lohko juuri for/while jälkeen suoritetaan vain, kun silmukkaa EI päätetä break-käskyllä.

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'>)>

>

mikä on linux-tiedostojärjestelmä

>

Lähtö

1 2 3 4 No Break 1>

Sentinel Controlled Statement

Tässä emme käytä laskurimuuttujia, koska emme tiedä kuinka monta kertaa silmukka suoritetaan. Täällä käyttäjä päättää, kuinka monta kertaa hän haluaa suorittaa silmukan. Tätä varten käytämme sentinel-arvoa. Sentinel-arvo on arvo, jota käytetään päättämään silmukan aina, kun käyttäjä syöttää sen, yleensä sentinel-arvo on -1.

Python while -silmukka käyttäjän syötteellä

Tässä se pyytää ensin käyttäjää syöttämään numeron. jos käyttäjä syöttää -1, silmukka ei suoriteta, ts.

  • Käyttäjä syöttää luvun 6 ja silmukan runko suoritetaan ja pyytää uudelleen syötettä
  • Täällä käyttäjä voi syöttää useita kertoja, kunnes hän syöttää -1 lopettaakseen silmukan
  • Käyttäjä voi päättää, kuinka monta kertaa hän haluaa syöttää syötteen

Python




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

>

>

Lähtö:

Tulostusnäytön kuva

While-silmukka Boolen arvoilla

Yksi yleinen loogisten arvojen käyttö while-silmukassa on luoda ääretön silmukka, josta voidaan poistua vain jonkin silmukan ehdon perusteella.

java tulo

Esimerkki :

Tässä esimerkissä alustamme laskurin ja käytämme sitten ääretöntä while-silmukkaa (True on aina tosi) laskurin kasvattamiseen ja sen arvon tulostamiseen. Tarkistamme, onko laskuri saavuttanut tietyn arvon, ja jos on, poistumme silmukasta break-lauseella.

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

>

>

Lähtö

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 -silmukka Python-luettelon kanssa

Tässä esimerkissä olemme ajaneet luettelon aikana while-silmukan, joka jatkuu, kunnes luettelossa on elementti.

Python




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

>

>

Lähtö

4 3 2 1>

Yksi lause eston aikana

Aivan kuten if-lohko, jos while-lohko koostuu yhdestä käskystä, voimme ilmoittaa koko silmukan yhdellä rivillä. Jos silmukan rungon muodostavassa lohkossa on useita lauseita, ne voidaan erottaa puolipisteillä (;).

Python




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

>

>

Lähtö

Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>

Python While Loop -harjoituskysymykset

Alla on kaksi harjoituskysymystä Python while -silmukasta. Olemme käsitelleet 2 tärkeää harjoituskysymystä, jotka perustuvat pomppivaan palloohjelmaan ja lähtölaskentaohjelmaan.

Q1. Vaikka silmukan harjoituskysymys perustuu pomppivan pallon ongelmaan

Python




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

>

>

Lähtö

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. Yksinkertainen while-silmukan harjoituskoodi lähtölaskentakellon rakentamiseen

merkkijonon java arvo

Python




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

>

>

Lähtö

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