Python Mens Loop bruges til at udføre en blok af udsagn gentagne gange, indtil en given betingelse er opfyldt. Når betingelsen bliver falsk, udføres linjen umiddelbart efter løkken i programmet.
Syntaks for while-løkke i Python
while expression: statement(s)>
Flowchart af Python While Loop
Mens loop falder ind under kategorien ubestemt gentagelse . Ubestemt iteration betyder, at antallet af gange, løkken udføres, ikke er angivet eksplicit på forhånd.
Udsagn repræsenterer alle udsagn, der er indrykket med det samme antal tegnmellemrum, efter at en programmeringskonstruktion anses for at være en del af en enkelt kodeblok. Python bruger indrykning som sin metode til at gruppere udsagn. Når en while-løkke udføres, evalueres expr først i en boolsk kontekst, og hvis det er sandt, udføres loop-kroppen. Derefter kontrolleres udtrykket igen, hvis det stadig er sandt, udføres kroppen igen og dette fortsætter indtil udtrykket bliver falsk.
Forskel mellem Python til loop og Python While Loop
Den største forskel mellem Python For Loop Versus Python While Loop er, at Python for loop normalt bruges, når antallet af iterationer er kendt , hvorimod Python while loop bruges, når antallet af iterationer er ukendt
Python Mens Loop
I dette eksempel vil betingelsen for while være Sand, så længe tællervariablen (tæller) er mindre end 3.
Python
# Python program to illustrate> # while loop> count>=> 0> while> (count <>3>):> >count>=> count>+> 1> >print>(>'Hello Geek'>)> |
>
>Produktion
Hello Geek Hello Geek Hello Geek>
Uendelig mens Loop i Python
Her er værdien af betingelsen altid Sand. Derfor køres løkkens krop uendelige gange, indtil hukommelsen er fuld.
strukturer ved hjælp af arrays i c
Python
age>=> 28> > # the test condition is always True> while> age>>19>:> >print>(>'Infinite Loop'>)> |
>
>
Kontroludsagn i Python med eksempler
Sløjfekontrolsætninger ændrer udførelse fra deres normale sekvens. Når eksekvering forlader et omfang, destrueres alle automatiske objekter, der blev oprettet i dette omfang. Python understøtter følgende kontroludsagn.
Python while loop med continue-sætning
Python Fortsæt erklæring returnerer kontrollen til begyndelsen af løkken.
Python
checkout med git
# 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> |
>
>Produktion
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k>
Python while-løkke med en break-sætning
Python Pauseerklæring bringer kontrollen ud af løkken.
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> |
>
>Produktion
Current Letter : g>
Python while-løkke med en beståelseserklæring
Python pass-sætningen til at skrive tomme sløjfer. Pass bruges også til tomme kontrolsætninger, funktioner og klasser.
Python
# An empty loop> a>=> 'geeksforgeeks'> i>=> 0> > while> i <>len>(a):> >i>+>=> 1> >pass> > print>(>'Value of i :'>, i)> |
>
>Produktion
Value of i : 13>
Mens sløjfe med andet
Som diskuteret ovenfor, udfører while loop blokken, indtil en betingelse er opfyldt. Når betingelsen bliver falsk, udføres sætningen umiddelbart efter løkken. Den anden klausul udføres kun, når din while-tilstand bliver falsk. Hvis du bryder ud af løkken, eller hvis en undtagelse rejses, vil den ikke blive udført.
Bemærk: Den anden blok lige efter for/while udføres kun, når løkken IKKE afsluttes af en break-sætning.
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'>)> |
>
>Produktion
1 2 3 4 No Break 1>
Sentinel kontrolleret erklæring
I dette bruger vi ikke nogen tællervariabel, fordi vi ikke ved, hvor mange gange løkken vil udføres. Her bestemmer brugeren, hvor mange gange han vil udføre løkken. Til dette bruger vi en vagtværdi. En vagtværdi er en værdi, der bruges til at afslutte en løkke, når en bruger indtaster den, generelt er vagtværdien -1.
Python while loop med brugerinput
Her beder den først brugeren om at indtaste et nummer. hvis brugeren indtaster -1 så vil løkken ikke udføres, dvs.
- Brugeren indtaster 6 og løkkens krop udfører og beder igen om input
- Her kan brugeren indtaste mange gange, indtil han indtaster -1 for at stoppe løkken
- Brugeren kan bestemme, hvor mange gange han vil indtaste input
Python
a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> > while> a !>=> ->1>:> >a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> |
>
>
java operatør
Produktion:

Output skærmbillede
Mens loop med booleske værdier
En almindelig anvendelse af booleske værdier i while-løkker er at skabe en uendelig løkke, der kun kan forlades baseret på en eller anden betingelse i løkken.
mac-operativsystemer
Eksempel :
I dette eksempel initialiserer vi en tæller og bruger derefter en uendelig mens-løkke (Sand er altid sand) til at øge tælleren og udskrive dens værdi. Vi tjekker, om tælleren har nået en vis værdi, og hvis det er tilfældet, forlader vi løkken ved hjælp af break-sætningen.
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.'>)> |
>
>Produktion
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 mens loop med Python liste
I dette eksempel har vi kørt en while-løkke over en liste, der vil køre, indtil der er et element til stede på listen.
Python
# checks if list still> # contains any element> a>=> [>1>,>2>,>3>,>4>]> > while> a:> >print>(a.pop())> |
>
>Produktion
4 3 2 1>
Enkelt udsagn mens blok
Ligesom if-blokken, hvis while-blokken består af en enkelt sætning, kan vi erklære hele løkken på en enkelt linje. Hvis der er flere sætninger i blokken, der udgør løkkelegemet, kan de adskilles med semikolon (;).
Python
# Python program to illustrate> # Single statement while block> count>=> 0> while> (count <>5>):> >count>+>=> 1> >print>(>'Hello Geek'>)> |
>
>Produktion
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>
Python While Loop-øvelsesspørgsmål
Nedenfor er to øvelsesspørgsmål om Python while loop. Vi har dækket 2 vigtige øvelsesspørgsmål baseret på hoppeboldprogrammet og nedtællingsprogrammet.
Q1. Mens loop øvelse spørgsmål baseret på hoppende bold problem
Python
java stak
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.'>)> |
>
>
Produktion
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. Enkel while-loop træningskode til at bygge nedtællingsur
Python
countdown>=> 10> while> countdown>>0>:> >print>(countdown)> >countdown>->=> 1> print>(>'Blast off!'>)> |
>
>
Produktion
10 9 8 7 6 5 4 3 2 1 Blast off!>