Pythons mens loop kan være forvirrende for begyndere. Men når du først har forstået begrebet looping, ville du indse, at "mens" før Python "loop" kun er en erklæring om tilstand.

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

Hvor kan du bruge en stundsløjfe?

En bestemt tilstand følger a mens løkke. Det bestemmer, hvad der sker inden for sløjfen. Mens denne betingelse forbliver Sand, udtrykkene inden for sløjfen fortsætter med at udføre.

Generelt kommer looping til at tænke på, når du har brug for at arbejde igennem hvert element på en liste eller et array i programmering. EN mens loop fortsætter også med at udføre, indtil en erklæring inden i loop stopper den.

Relaterede: Hvordan Do-While Loop fungerer i computerprogrammering

Sådan fungerer mens sløjfer i computerprogrammering

Sløjfer er en af ​​de første kontroltyper, du lærer i programmering. Du ved sandsynligvis om mens og for sløjfer, men hvad opnår en gør-mens-løkke?

Et godt eksempel ville være en inspektionsaktivitet for at identificere syge dyr i en flok får. Du kan tilskrive dette til

mens loop ved at indstille temperaturgrænsen til 37 grader. Enhver værdi over dette betyder, at et får er syg.

For at komme med denne erklæring i en mens loop, kan du sige: "mens et fårs temperatur er over 37 grader, skal du udskrive usundt."

Som forventet, at mens erklæring udskriver resultatet "usundt" kontinuerligt, så længe den indstillede tilstand forbliver Sand.

Sådan bruges Python mens sløjfer - i praksis

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

mens 3 <5:
print ("Det er mindre end 5")

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

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

StdTemperature = 37 
får_temp = 38
mens får_temp> StdTemperatur:
print ("usundt")
andet:
print ("sund")

I kodestykket ovenfor er temperaturgrænsen 37. Det får_temp variabel gemmer hvert fåres 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 skifter får_temp til en værdi mindre end 37, udfører den andet udmelding.

Brug dog en mens løkke til at løse problemet ovenfor er for primitiv og skalerbar. Det er fordi du skal manuelt ændre værdien af får_temp variabel hver gang du har brug for at 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 indblik i, hvad en mens erklæring gøres i en Python-løkke.

For at forhindre, at koden kører kontinuerligt, kan du introducere en pause udsagn i eksempelkoden som denne:

StdTemperature = 37 
får_temp = 38
mens får_temp> StdTemperatur:
print ("usundt")
pause
andet:
print ("sund")

Lad os se en anden brugstilfælde af en mens loop ved at oprette en liste med tallene mellem 1 og 10:

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

Kodeblokken ovenfor tæller fra nummer 10 og ned til 1. Du kan lige så godt fortolke udsagnet således: "mens man er under elleve, skal du trække en fra enhver forrige nummer og give resultatet som det næste antal. "Det fungerer ved at fjerne et fra et tidligere nummer hver gang det udfører mens instruktion.

Du kan også ændre mens løkke over for at gange hvert output med 2:

a = 11
b = 1
mens b a - = 1
udskriv (a, "x", "2", "=", a * 2)

Du kan bruge et boolsk udtryk med en mens loop også. Se på kodestykket nedenfor for at se, hvordan dette fungerer:

a = 10
b = 2
mens b <10:
b + = 1
print (b)
hvis b == 8:
print (a)
pause

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

I stedet for at bruge en pause, kan du 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 nedenstående:

a = 10
b = 2
mens b <10:
b + = 1
hvis b == 9:
Blive ved
print (b)

I stedet for at kontrollere output med en pause, instruerer koden ovenfor dit program til Blive ved tællingen uden at overveje 9.

Du kan også ændre mens loop ovenfor for at output alle lige tal mellem 1 og 10:

a = 10
b = 1
mens b <= 10:
b + = 1
hvis 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 denne mulighed.

Har en stundsløjfe begrænsninger i praksis?

Mens det løser særlige problemer i virkelige begivenheder, a mens loop i Python har nogle begrænsninger, når man beskæftiger sig med en samling af arrays.

I praksis i modsætning til til løkke, en mens loop tilbyder ikke specificitet i en kontrolflowerklæring. Imidlertid er en mens loop har også sine applikationer, så det er nødvendigt at have en forståelse af, hvordan man bruger det i dine programmer.

E-mail
Sådan oprettes, importeres og genbruges dit eget modul i Python

Vi forklarer et vigtigt fundament for genanvendelighed af kode i Python: moduler.

Relaterede emner
  • Programmering
  • Programmering
  • Python
Om forfatteren
Idowu Omisola (45 artikler udgivet)

Idowu brænder for alt smart tech og produktivitet. På 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 lidenskab for at vise folk vejen rundt om moderne teknologi motiverer ham til at skrive mere.

Mere fra Idowu Omisola

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.

.