Sådan bruges en While Loop i Python

Sådan bruges en While Loop i Python

Pythons while loop kan være forvirrende for begyndere. Men når du forstår begrebet looping, ville du indse, at 'while' før Python 'loop' er en ren betingelseserklæring.





Lad os tage et kig på Pythons mens loop og hvordan du kan bruge det til at løse programmeringsproblemer.





Hvor kan du bruge en While Loop?

En særlig betingelse følger a mens sløjfe. Det bestemmer, hvad der sker inden for løkken. Mens den betingelse forbliver Sand , udtrykkene i sløjfen bliver ved med at køre.





Generelt kommer looping til at tænke på, når du skal gennemgå hvert element på en liste eller en matrix i programmering. EN mens loop fortsætter også med at køre, indtil en sætning i loop'en stopper den.

hvordan man bygger en tv -antenne gratis

Relateret: Hvordan gør-Mens Loop fungerer i computerprogrammering



Et godt eksempel ville være en inspektionsaktivitet for at identificere syge dyr i en flok får. Du kan tilskrive dette til mens sløjfe ved at indstille temperaturgrænsen til 37 grader. Enhver værdi over dette betyder, at et får er sygt.

For at komme med denne erklæring i et mens loop, kan du sige: 'mens temperaturen på et får er over 37 grader, skal du udskrive usundt.'





Som forventet, det mens sætning udskriver resultatet 'usundt' kontinuerligt, så længe den fastsatte betingelse forbliver Sand .

Sådan bruges Python mens loops- i praksis

Som tidligere nævnt kører et stykke loop på ubestemt tid, hvis der ikke er fastsatte betingelser, der stopper det. Her er et eksempel på ubestemt tid mens loop:





while 3 <5:
print('It's less than 5')

Betingelsen for mens loop i koden ovenfor er 3<5 .

Lad os nu se på mens loop -kode til besætningseksempeleksemplet fra det foregående afsnit:

StdTemperature = 37
sheep_temp = 38
while sheep_temp > StdTemperature:
print('unhealthy')
else:
print('healthy')

I kodebiten ovenfor er temperaturgrænsen 37. Den får_temp variabel gemmer hvert fårs temperatur. Det mens loop fortsætter med at udsende 'usundt', så længe temperaturen er over 37; dette er betingelsen for at udføre sløjfen i dette tilfælde. Hvis du ændrer dig får_temp til en værdi mindre end 37, udfører den andet udmelding.

Men ved hjælp af en mens loop for at løse problemet ovenfor er for primitiv og ikke skalerbar. Det er fordi, du skal manuelt ændre værdien af får_temp variabel hver gang du skal teste et får. Det betyder, at det er svært at betjene det på en matrix. Løsningen på det ligger uden for denne artikels anvendelsesområde.

Ikke desto mindre burde dette eksempel give dig nogle indsigter om, hvad en mens sætning gør i en Python loop.

For at stoppe koden fra at køre kontinuerligt, kan du introducere en pause sætning i eksempelkoden sådan her:

StdTemperature = 37
sheep_temp = 38
while sheep_temp > StdTemperature:
print('unhealthy')
break
else:
print('healthy')

Lad os se et andet brugstilfælde af a mens loop ved at oprette en liste over numrene mellem 1 og 10:

a = 11
b = 1
while b a -= 1
print(a)

Kodeblokken ovenfor tæller fra nummer 10 ned til 1. Du kan lige så godt tolke udsagnet sådan: 'mens en er mindre end elleve, skal du blive ved med at trække en fra et hvilket som helst tidligere tal og give resultatet som den næste tælling.' Det fungerer ved at fjerne et fra et tidligere nummer, hver gang det udfører mens instruktion.

Du kan også ændre mens loop ovenfor for at gange hver output med 2:

a = 11
b = 1
while b a -= 1
print(a, 'x', '2', '=', a*2)

Du kan bruge et boolsk udtryk med et mens loop også. Tag et kig på kodestykket herunder for at se, hvordan dette fungerer:

a = 10
b = 2
while b <10:
b+=1
print(b)
if b==8:
print(a)
break

Koden ovenfor giver et output, der tæller hvert andet heltal fra 3 til 10 uden at inkludere tallet 9. pause udtryk sikrer, at sløjfen stopper med at tælle, når den når til 10. For at forstå dens relevans kan du fjerne pause erklæring for at se, hvordan det kommer igennem.

Men i stedet for at bruge en pause , du kan bruge Blive ved udtryk for at få det samme resultat. For at forstå, hvordan det fungerer, skal du prøve at sammenligne kodestykket ovenfor med det nedenfor:

a = 10
b = 2
while b <10:
b+=1
if b==9:
continue
print(b)

I stedet for at styre output med en pause , instruerer ovenstående kode dit program til Blive ved optællingen uden at overveje 9.

Du kan også ændre while -løkken ovenfor for at udsende alle lige numre mellem 1 og 10:

a = 10
b = 1
while b <= 10:
b+=1
if b%2==0:
print(b)

Bemærk: Hvis du ikke vil køre disse eksempler med Pythons indbyggede IDLE, kan du brug Jupyter Notebook også, men du skal oprette og aktivere et virtuelt Python -miljø at bruge den mulighed.

Har en While Loop begrænsninger i praksis?

Selvom det løser særlige problemer i virkelige begivenheder, a mens loop i Python har nogle begrænsninger ved håndtering af en samling arrays.

I praksis i modsætning til til sløjfe, a mens loop tilbyder ikke specificitet i en kontrolflow -erklæring. Imidlertid er a mens loop har også sine applikationer, så det er nødvendigt at have styr på, hvordan du bruger det i dine programmer.

Del Del Tweet E -mail Sådan opretter, importerer og genbruger du dit eget modul i Python

Vi forklarer et vigtigt fundament for kodegenbrug i Python: moduler.

Læs Næste
Relaterede emner
  • Programmering
  • Programmering
  • Python
Om forfatteren Idisou Omisola(94 artikler udgivet)

Idowu brænder for alt smart teknologi og produktivitet. I fritiden leger han med kodning og skifter til skakbrættet, når han keder sig, men han elsker også at bryde væk fra rutinen en gang imellem. Hans passion for at vise folk vejen rundt om moderne teknologi motiverer ham til at skrive mere.

Mere fra Idowu Omisola

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere