Python While Loop-vejledning - Gør mens sandt eksempel

Sløjfer er en sekvens af instruktioner, der udføres, indtil en betingelse er opfyldt. Lad os se på, hvordan mens sløjfer fungerer i Python.

Hvad er sløjfer?

Hvis du lærer at kode, er sløjfer et af de vigtigste begreber, du skal forstå. Sløjfer hjælper dig med at udføre en række instruktioner, indtil en betingelse er opfyldt.

Der er to hovedtyper af sløjfer i Python.

  • Til sløjfer
  • Mens sløjfer

Begge disse typer sløjfer kan bruges til lignende handlinger. Men når du lærer at skrive effektive programmer, ved du, hvornår du skal bruge hvad.

I denne artikel vil vi se på mens sløjfer i Python. For at lære mere om for sløjfer, se denne artikel, der for nylig blev offentliggjort på freeCodeCamp.

Mens løkker

Konceptet bag en while-løkke er simpelt: Mens en betingelse er sand -> Kør mine kommandoer.

While-sløjfen kontrollerer tilstanden hver gang, og hvis den returnerer "sand", udfører den instruktionerne i sløjfen.

Før vi begynder at skrive kode, skal vi se på flowchart for at se, hvordan det fungerer.

Lad os nu skrive noget kode. Her er hvordan du skriver en enkel mens sløjfe for at udskrive numre fra 1 til 10.

#!/usr/bin/python x = 1 while(x <= 10): print(x) x = x+1

Hvis du ser på ovenstående kode, vil løkken kun køre, hvis x er mindre end eller lig med 10. Hvis du initialiserer x som 20, udføres sløjfen aldrig.

Her er output af det mens loop:

> python script.py 1 2 3 4 5 6 7 8 9 10

Do-While-løkke

Der er to variationer af while-loop - while og do-While. Forskellen mellem de to er, at do-while kører mindst en gang.

En while-loop kan muligvis ikke engang udføres en gang, hvis betingelsen ikke er opfyldt. Imidlertid kører do-while en gang, og kontroller derefter betingelsen for efterfølgende sløjfer.

På trods af at være til stede i de fleste af de populære programmeringssprog, har Python ikke en indfødt do-while-erklæring. Men du kan nemt efterligne en do-while-loop ved hjælp af andre tilgange, såsom funktioner.

Lad os prøve at gøre-mens-tilgang ved at indpakke kommandoerne i en funktion.

#!/usr/bin/python x = 20 def run_commands(): x = x+1 print(x) run_commands() while(x <= 10): run_commands()

Ovenstående kode kører funktionen "run_commands ()" en gang, før den påberåber while-løkken. Når while-sløjfen starter, vil "run_commands" -funktionen aldrig blive udført, da x er lig med 20.

Mens - Ellers

Du kan tilføje en "andet" -erklæring for at køre, hvis loop-betingelsen mislykkes.

Lad os tilføje en anden betingelse til vores kode for at udskrive "Udført", når vi først har udskrevet tallene fra 1 til 10.

#!/usr/bin/python x = 1 while(x <= 10): print(x) x = x+1 else: print("Done")

Ovenstående kode udskriver først tallene fra 1 til 10. Når x er 11, vil while-tilstanden mislykkes, hvilket udløser den anden betingelse.

Enkelt linje mens erklæring

Hvis du kun har en enkelt kodelinje i din while-løkke, kan du bruge syntaxen på en enkelt linje.

#!/usr/bin/python x = 1 while (x): print(x)

Uendelige løkker

Hvis du ikke er forsigtig med at skrive sløjfer, opretter du uendelige sløjfer. Uendelige sløjfer er dem, hvor tilstanden altid er sand.

#!/usr/bin/python x = 1 while (x >= 1): print(x)

Ovenstående kode er et eksempel på en uendelig løkke. Der er ingen kommando til at ændre værdien af ​​x, så betingelsen "x er større end eller lig med 1" er altid sand. Dette får løkken til at løbe for evigt.

Vær altid forsigtig, mens du skriver sløjfer. En lille fejl kan føre til en uendelig løkke og gå ned i din applikation.

Loop Control

Lad os endelig se på, hvordan man styrer strømmen af ​​en sløjfe, mens den kører.  

Når du skriver applikationer fra den virkelige verden, vil du ofte støde på scenarier, hvor du skal tilføje yderligere betingelser for at springe en løkke over eller for at bryde ud af en løkke.

Pause

Lad os se på, hvordan man bryder ud af sløjfen, mens betingelsen er sand.

#!/usr/bin/python x = 1 while (x <= 10): if(x == 5): break print(x) x += 1

I ovenstående kode stopper sløjfen udførelse, når x er 5, til trods for at x er større end eller lig med 1.

Blive ved

Her er et andet scenarie: sig, at du vil springe løkken over, hvis en bestemt betingelse er opfyldt. Du vil dog fortsætte efterfølgende henrettelser, indtil hovedtilstanden bliver falsk.

Du kan bruge nøgleordet "fortsæt" til det på denne måde:

#!/usr/bin/python x = 1 while (x <= 10): if(x == 5): x += 1 continue print(x)

I ovenstående eksempel udskrives sløjfen fra 1 til 10 undtagen 5. Når x er 5, springes resten af ​​kommandoerne over, og kontrolflowet vender tilbage til starten af ​​mens programmet.

Resumé

Sløjfer er en af ​​de mest nyttige komponenter i programmering, som du vil bruge dagligt.

For og mens er de to hovedsløjfer i Python. While-sløjfen har to varianter, mens og gør-mens, men Python understøtter kun den tidligere.

Du kan styre programflowet ved hjælp af kommandoerne 'pause' og 'fortsæt'. Vær altid opmærksom på at skabe uendelige sløjfer ved et uheld.

Jeg skriver regelmæssigt om emner, herunder kunstig intelligens og cybersikkerhed. Hvis du kunne lide denne artikel, kan du læse min blog her.