logo

Python While Loop

Python Kamēr Loop tiek izmantots, lai atkārtoti izpildītu paziņojumu bloku, līdz tiek izpildīts noteiktais nosacījums. Kad nosacījums kļūst nepatiess, tiek izpildīta rinda tūlīt pēc cilpas programmā.

Ciklas while sintakse programmā Python

  while  expression:  statement(s)>

Python, kamēr cilpa, blokshēma

Python While Loop

Kamēr cilpa ietilpst kategorijā nenoteikta iterācija . Nenoteikta iterācija nozīmē, ka cilpas izpildes reižu skaits nav skaidri norādīts iepriekš.



Paziņojumi ir visi priekšraksti, kas atkāpjas ar tādu pašu rakstzīmju atstarpju skaitu pēc tam, kad programmēšanas konstrukcija tiek uzskatīta par viena koda bloka daļu. Python izmanto atkāpi kā paziņojumu grupēšanas metodi. Kad tiek izpildīta cilpa while, expr vispirms tiek novērtēts Būla kontekstā un, ja tā ir patiesa, tiek izpildīts cilpas pamatteksts. Pēc tam izteiksme tiek pārbaudīta vēlreiz, ja tā joprojām ir patiesa, tad ķermenis tiek izpildīts vēlreiz, un tas turpinās, līdz izteiksme kļūst nepatiesa.

Atšķirība starp Python For Loop un Python While Loop

Galvenā atšķirība starp Python For Loop un Python While Loop ir tā, ka Python for loop parasti tiek izmantots, ja iterāciju skaits ir zināms , savukārt Python while cilpa tiek izmantota, ja atkārtojumu skaits ir nezināms



Python While Loop

Šajā piemērā nosacījums while būs True, kamēr skaitītāja mainīgais (skaits) ir mazāks par 3.

Python






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

>

>

Izvade

alfabēta skaitļi
Hello Geek Hello Geek Hello Geek>

Infinite while Loop programmā Python

Šeit nosacījuma vērtība vienmēr ir True. Tāpēc cilpas korpuss tiek palaists bezgalīgas reizes, līdz atmiņa ir pilna.

Python




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

>

>

Vadības paziņojumi Python ar piemēriem

Cilpas vadības paziņojumi maina izpildi no to parastās secības. Kad izpilde atstāj tvērumu, visi automātiskie objekti, kas tika izveidoti šajā tvērumā, tiek iznīcināti. Python atbalsta šādus vadības paziņojumus.

Python while cilpa ar paziņojumu turpināt

Python Turpināt paziņojumu atgriež vadīklu cilpas sākumā.

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>

>

>

Izvade

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

Python while cilpa ar pārtraukuma paziņojumu

Python Pārtraukuma paziņojums izved kontroli ārpus aprites.

Python




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

>

>

Izvade

Current Letter : g>

Python while cilpa ar apstiprinājuma paziņojumu

Python pass paziņojums, lai rakstītu tukšas cilpas. Pass tiek izmantots arī tukšiem vadības priekšrakstiem, funkcijām un klasēm.

aes vs des

Python




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

>

>

Izvade

Value of i : 13>

Kamēr cilpa ar citu

Kā minēts iepriekš, kamēr cilpa izpilda bloku, līdz tiek izpildīts nosacījums. Kad nosacījums kļūst nepatiess, paziņojums tūlīt pēc cilpas tiek izpildīts. Cita klauzula tiek izpildīta tikai tad, ja jūsu kamēr nosacījums kļūst nepatiess. Ja izkļūsit no cilpas vai ja izņēmums tiek paaugstināts, tas netiks izpildīts.

Piezīme: Bloks else tieši pēc for/while tiek izpildīts tikai tad, ja cilpa NAV beidzas ar pārtraukuma paziņojumu.

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

>

>

Izvade

1 2 3 4 No Break 1>

Sentinel kontrolēts paziņojums

Šajā gadījumā mēs neizmantojam nevienu skaitītāja mainīgo, jo mēs nezinām, cik reižu cilpa tiks izpildīta. Šeit lietotājs izlemj, cik reizes viņš vēlas izpildīt cilpu. Šim nolūkam mēs izmantojam sargvērtību. Sargvērtība ir vērtība, ko izmanto, lai pārtrauktu cilpu ikreiz, kad lietotājs tajā ievada, parasti kontrolvērtība ir -1.

Python kamēr cilpa ar lietotāja ievadi

Šeit tas vispirms lūdz lietotājam ievadīt numuru. ja lietotājs ievada -1, tad cilpa netiks izpildīta, t.i.

  • Lietotājs ievada 6, un cilpas pamatteksts tiek izpildīts un atkal prasa ievadi
  • Šeit lietotājs var ievadīt vairākas reizes, līdz viņš ievada -1, lai apturētu cilpu
  • Lietotājs var izlemt, cik reižu viņš vēlas ievadīt ievadi

Python

json failu




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

>

>

Izvade:

Izvades ekrāna attēls

Kaut arī cilpa ar Būla vērtībām

Viens izplatīts Būla vērtību lietojums while cilpās ir bezgalīgas cilpas izveidošana, no kuras var iziet tikai, pamatojoties uz kādu cilpas nosacījumu.

burbuļu šķirošanas pitons

Piemērs :

Šajā piemērā mēs inicializējam skaitītāju un pēc tam izmantojam bezgalīgu while cilpu (True vienmēr ir taisnība), lai palielinātu skaitītāju un izdrukātu tā vērtību. Mēs pārbaudām, vai skaitītājs ir sasniedzis noteiktu vērtību, un, ja tā, mēs izejam no cilpas, izmantojot pārtraukuma paziņojumu.

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

>

>

Izvade

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 kamēr cilpa ar Python sarakstu

Šajā piemērā mēs esam palaiduši kamēr cilpu pār sarakstu, kas darbosies, līdz sarakstā būs kāds elements.

Python




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

>

>

Izvade

4 3 2 1>

Viens paziņojums bloķēšanas laikā

Tāpat kā if bloks, ja bloks while sastāv no viena priekšraksta, mēs varam deklarēt visu cilpu vienā rindā. Ja blokā, kas veido cilpas pamattekstu, ir vairāki priekšraksti, tos var atdalīt ar semikolu (;).

Python




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

>

>

Izvade

Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>

Python While Loop vingrinājumu jautājumi

Zemāk ir divi vingrinājumu jautājumi par Python while cilpu. Mēs esam apskatījuši 2 svarīgus vingrinājumu jautājumus, pamatojoties uz atlēkušās bumbas programmu un atpakaļskaitīšanas programmu.

Q1. Cilpas vingrinājuma jautājums, pamatojoties uz atlekšanas bumbas problēmu

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

>

>

Izvade

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. Vienkāršs kamēr cilpas vingrinājuma kods, lai izveidotu atpakaļskaitīšanas pulksteni

Python




dfa piemēri

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

>

>

Izvade

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