logo

Forskellen mellem for loop og while loop i Python

I denne artikel lærer vi om forskellen mellem for loop og a while loop i Python. I Python er der to typer sløjfer tilgængelige, som er ' for sløjfe ' og ' mens loop ' . Sløjfen er et sæt sætninger, der bruges til at udføre et sæt sætninger mere end én gang. For eksempel, hvis vi vil udskrive Hello world 100 gange, så skal vi skrive en print-erklæring 100 gange, hvilket er en kedelig opgave, men ved hjælp af loops kan vi gøre det på blot et par linjer kode. I denne artikel lærer vi begge typer sløjfer separat og derefter deres forskelle.

For Loop Vs While Loop Banner



Til loop i Python

I Python, en ' for sløjfe ' bruges til at iterere over en sekvens af elementer, såsom en Python tuple , liste , snor , eller rækkevidde . Sløjfen vil udføre en blok af sætninger for hvert element i sekvensen.

Python til Loop Flowchart

Til loop i Python

For Loop Flow diagram

Syntaks for Python for loop

I nedenstående syntaks for er et nøgleord, var er variabelnavnet, og iterable er et objekt, som kan løkkes over eller itereres over ved hjælp af a for en løkke. Objekter som tupler, lister, sæt, ordbøger, strenge osv. kaldes iterable. Vi kan også bruge funktionen range() i stedet for iterable.



til var i iterable :

# udsagn

Python for Loop (med eksempler)



I eksemplet nedenfor har vi oprettet en liste over elementer og derefter gentaget listen med for loop til at udskrive elementerne på listen.

Python3




# Create a list of items> items>=> [>'pen'>,>'notebook'>,> >'pencil'>,>'lunch box'>]> > # Run a loop to print> # items in a list> for> item>in> items:> >print>(item)>

>

>

Produktion:

pen notebook pencil lunch box>

Mens Loop i Python

I Python, en while-løkke bruges til gentagne gange at udføre en blok af udsagn, mens en betingelse er sand. Sløjfen vil fortsætte med at køre, så længe betingelsen forbliver sand.

Python mens Loop Flowchart

Mens Loop i Python

Mens Loop Flowdiagram

Syntaks for Python While loop

I while-løkketilstanden skrives lige efter 'mens' nøgleord, og så skriver vi sættet af udsagn for at udføre en opgave.

mens tilstand :

# Sæt af udsagn

Python mens loop (med eksempler)

I dette eksempel bruger vi en while-løkke til at udføre opgaven, som vi har udført i eksemplet med for loop. Her, efter at have erklæret emnelisten, initialiserer vi indekset med 0 og gemmer længden af ​​emnelisten i variablen 'items_len' derefter kører en while-løkke, hvor vi har givet en betingelse, der kører løkken indtil værdien af indeks er mindre end items_len . Inde i while-løkken udskriver vi elementerne på emnelisten ved hjælp af indeksering og øger værdien af ​​indekset med 1 for at iterere over listen.

Python3




# Create a list of items> items>=> [>'pen'>,>'notebook'>,> >'pencil'>,>'lunch box'>]> > # Declare a index> index>=> 0> > # Store length of items list> items_len>=> len>(items)> > # Run a loop to print> # items in a list> while> index print(items[index]) index = index+1>

>

>

Produktion:

pen notebook pencil lunch box>

Når der ikke er givet nogen betingelse i for- og while-løkken?

I dette tilfælde, når betingelsen ikke er givet, vil de løbe ind i en uendelig løkke.

Python til loop:

Python3




a>=> [>1>]> for> i>in> a:> >print>(>'GFG'>)> >a.append(i)>

>

>

Python While Loop:

Python3




while> True>:> >print>(>'GFG'>)>

>

>

Begge løkker vil køre uendeligt mange gange og udskrives GFG .

java len af ​​array

Forskellen mellem for loop og while loop i Python

Nu vil vi sammenligne begge sløjfer i Python for at forstå, hvor de skal bruges 'for loop' og hvor den skal bruges 'mens loop' .

Til sløjfe

Mens sløjfe

For loop bruges til at iterere over en sekvens af elementer.

Mens loop bruges til gentagne gange at udføre en blok af udsagn, mens en betingelse er sand.

For loops er designet til iteration over en sekvens af elementer. F.eks. liste, tupel osv.

Mens loop bruges, når antallet af iterationer ikke er kendt på forhånd, eller når vi vil gentage en kodeblok, indtil en bestemt betingelse er opfyldt.

For loop kræver en sekvens at iterere over.

Mens løkken kræver en starttilstand, der testes i begyndelsen af ​​løkken.

For loop bruges typisk til iteration over en fast sekvens af elementer

Mens loop bruges til mere komplekse kontrolflow-situationer.

For loop er mere effektivt end en while loop, når der itereres over sekvenser, da antallet af iterationer er forudbestemt, og loopen kan optimeres i overensstemmelse hermed.

Mens en loop kan være mere effektiv i visse situationer, hvor tilstanden, der testes, kan evalueres hurtigt.