Python For & While-løkker (med eksempler)

⚡ Smart opsummering

Python Løkker gentager en kodeblok, indtil en bestemt betingelse er opfyldt. For-løkken og while-løkken styrer sammen med break-, continue- og enumerate-sætningerne, hvor mange gange iterationer kører, som eksemplerne nedenfor viser.

  • 🔁 sløjfer: En løkke kører en kodeblok gentagne gange, indtil dens betingelse stopper den.
  • 🔢 Til løkke: For-løkken itererer over en sekvens, såsom et område, en liste eller en streng.
  • ♻️ Mens loop: While-løkken gentager sig, så længe dens betingelse forbliver sand.
  • Pause: Break-sætningen afslutter en løkke øjeblikkeligt på et valgt punkt.
  • ⏭️ Blive ved: `continue`-sætningen springer den aktuelle iteration over og går videre til den næste.
  • 🔖 Opregn: Funktionen enumerate() parrer hvert element med et indeks, mens looping.

Python For- og While-løkker

Hvad er Loop?

Sløjfer kan udføre en kodeblok et antal gange, indtil en bestemt betingelse er opfyldt. Deres brug er ret almindelig i programmering. I modsætning til andre programmeringssprog, der har For Loop, while loop, dowhile osv.

Hvad er For Loop?

For loop bruges til at iterere over elementer i en sekvens. Det bruges ofte, når du har et stykke kode, som du vil gentage "n" antal gange.

Hvad er While Loop?

Mens Loop bruges til at gentage en kodeblok. I stedet for at køre kodeblokken én gang, udfører den kodeblokken flere gange, indtil en bestemt betingelse er opfyldt.

Sådan bruger du "While Loop"

Mens loop gør præcis det samme, som "if statement" gør, men i stedet for at køre kodeblokken én gang, hopper de tilbage til det punkt, hvor den startede koden og gentager hele processen igen.

Syntaks

while expression
 Statement

Eksempel:

#
#Example file for working with loops
#
x=0
#define a while loop
while(x <4):
		print(x)
		x = x+1

Forventet output:

0
1
2
3
  • Code Linje 4: Variabel x sættes til 0
  • Code Linje 7: While-løkken kontrollerer for betingelse x<4. Den aktuelle værdi af x er 0. Betingelsen er sand. Kontrollens flow går ind i while-løkken.
  • Code Linje 8: Værdien af ​​x udskrives
  • Code Linje 9: x øges med 1. Kontrolflowet går tilbage til linje 7. Nu er værdien af ​​x 1, hvilket er mindre end 4. Betingelsen er sand, og while-løkken udføres igen. Dette fortsætter, indtil x bliver 4, og while-betingelsen bliver falsk.

Sådan bruger du "For Loop"

In Python, kaldes "for loops". iteratorer.

Ligesom while loop, bruges "For Loop" også til at gentage programmet.

Men i modsætning til while-løkke, som afhænger af betingelsen sand eller falsk. "For Loop" afhænger af de elementer, den skal iterere.

Eksempel:

#
#Example file for working with loops
#
x=0
#define a while loop
#	while(x <4):
#		print x
#		x = x+1

#Define a for loop 
for x in range(2,7):
		print(x)

Forventet output:

2
3
4
5
6

For Loop itererer med nummer erklæret i området.

For eksempel:

Til Loop for x i området (2,7)

Når denne kode udføres, vil den udskrive tallet mellem 2 og 7 (2,3,4,5,6). I denne kode betragtes nummer 7 ikke inden for området.

For Loops kan også bruges til en række andre ting og ikke kun nummer. Vi vil se tynd i næste afsnit.

Sådan bruges For Loop for String

I dette trin vil vi se, hvordan "for loops" også kan bruges til andre ting udover tal.

Eksempel:

#use a for loop over a collection
Months = ["Jan","Feb","Mar","April","May","June"]
for m in Months:
		print(m)

Forventet output:

Jan
Feb
Mar
April
May
June

Code Linje 3: Vi gemmer månederne ("Jan, Feb, Mar, April, Maj, Juni") i variablen Måneder

Code Linje 4: Vi itererer for-løkken over hver værdi i Måneder. Den aktuelle værdi af Måneder gemmes i variablen m.

Code Linje 5: Udskriv måneden

Sådan bruger du break statements i For Loop

Breakpoint er en unik funktion i For Loop, der giver dig mulighed for at bryde eller afslutte udførelsen af ​​for-løkken

Eksempel:

#use a for loop over a collection
	#Months = ["Jan","Feb","Mar","April","May","June"]
	#for m in Months:
		#print m
		
# use the break and continue statements
for x in range (10,20):
			if (x == 15): break
			#if (x % 2 == 0) : continue
			print(x)

Forventet output:

10
11
12
13
14

I dette eksempel deklarerede vi tallene fra 10-20, men vi ønsker, at vores for-løkke skal afsluttes ved tallet 15 og stoppe yderligere kørsel. For at gøre dette deklarerer vi break-funktionen ved at definere (x==15): break, så snart koden kalder tallet 15, afslutter den programmet. Code Linje 10 deklarerer variabel x mellem området (10, 20)

  • Code Linje 11 erklærer betingelsen for breakpoint ved x==15,
  • Code Linje 12 kontrollerer og gentager trinnene, indtil den når nummer 15.
  • Code Linje 13 Udskriv resultatet i outputtet

Sådan bruger du "fortsæt erklæring" i For Loop

Continue-funktionen vil, som navnet indikerer, afslutte den aktuelle iteration af for-løkken, MEN vil fortsætte med at udføre de resterende iterationer.

Eksempel

#use a for loop over a collection
	#Months = ["Jan","Feb","Mar","April","May","June"]
	#for m in Months:
		#print m
		
# use the break and continue statements
for x in range (10,20):
			#if (x == 15): break
			if (x % 5 == 0) : continue
			print(x)

Forventet output:

11
12
13
14
16
17
18
19

Continue statement kan bruges i for loop, når du ønsker at hente en bestemt værdi fra listen.

I vores eksempel har vi erklæret værdien 10-20, men mellem disse tal ønsker vi kun de tal, der IKKE er delelige med 5 eller med andre ord, som ikke giver nul, når de divideres med 5.

Så i vores rækkevidde (10,11, 12….19,20) falder kun 3 tal (10,15,20), der er delelige med 5 og resten ikke.

Så bortset fra nummer 10,15 og 20 vil "for loop" ikke fortsætte og udskrive disse tal som output.

  • Code linje 10 deklarerer variablen x for området (10, 20)
  • Code linje 12 erklærer betingelsen for x divideret med 5 = 0 fortsæt
  • Code linje 13 udskriver resultatet

Hvad er enumerate() i Python?

enumerate() I PYTHON er en indbygget funktion, der bruges til at tildele et indeks til hvert element i det itererbare objekt. Den tilføjer et loop på de itererbare objekter, mens den holdesping track for det aktuelle element og returnerer objektet i en tællelig form. Dette objekt kan bruges i en for-løkke til at konvertere det til en liste ved hjælp af list()-metoden.

Eksempel:

Opregn funktion bruges til at nummerere eller indeksere medlemmerne på listen.

Antag, at vi ønsker at lave nummerering for vores måned (jan, feb, Marc, .... juni), så vi erklærer variablen i, der opregner tallene, mens m vil udskrive antallet af måneder i listen.

#use a for loop over a collection
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
		print(i,m)
		
# use the break and continue statements
		
		#for x in range (10,20):
		#if (x == 15): break
		#if (x % 5 == 0) : continue
		#print x

Forventet output:

0 Jan
1 Feb
2 Mar
3 April
4 May
5 June

Når koden udføres, returnerer outputtet af enumerate-funktionen månedens navn med et indeksnummer som (0-Jan), (1- Feb), (2- Marts) osv.

  • Code Linje 3 angiver listen over måneder [jan, feb,…jun]
  • Code Linje 4 deklarerer variable i og m for For Loop
  • Code Linje 5 udskriver resultatet og indtaster igen For-løkken for resten af ​​månederne for at optælle

Praktisk eksempel

Lad os se et andet eksempel på For Loop for at gentage det samme udsagn igen og igen.

Python loop Arbejde Code til alle øvelser
Code for while-løkken
x=0    
while (x<4):
    print (x)
    x= x+1
For Loop Simple Eksempel
x=0 
for x in range (2,7):
    print (x)
Brug af for loop in string
Months = ["Jan","Feb","Mar","April","May","June"]
for m in (Months):
    print (m)
Brug break-sætning i for loop
for x in range (10,20):
       if (x == 15): break
       print (x)
Brug af Continue statement in for loop
for x in range (10,20):
       if (x % 5 == 0): continue
       print (x)
Code for "optællingsfunktion" med "for-løkke"
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
    print (i,m)

Sådan bruges for loop til at gentage det samme udsagn igen og igen

Du kan bruge for loop til endda at gentage det samme udsagn igen og igen. Her i eksemplet har vi udskrevet ordet "guru99" tre gange.

Eksempel: For at gentage det samme udsagn flere gange, har vi erklæret tallet i variabel i (i i 123). Så når du kører koden som vist nedenfor, udskriver den sætningen (guru99), der er mange gange det tal, der er erklæret for vores variable i ( i i 123).

for i in '123':
 print ("guru99",i,)

Forventet output:

guru99 1
guru99 2
guru99 3

Ligesom andre programmeringssprog, Python bruger også en loop, men i stedet for at bruge en række forskellige loops er den begrænset til kun to loops "While loop" og "for loop".

  • Mens loops udføres baseret på, om den betingede sætning er sand eller falsk.
  • For loops kaldes iteratorer, det itererer elementet baseret på betingelsessættet
  • Python For loops kan også bruges til en række forskellige andre ting (angiver samlingen af ​​elementer, vi ønsker at sløjfe over)
  • Breakpoint bruges i For Loop til at bryde eller afslutte programmet på et bestemt tidspunkt
  • Fortsæt-erklæringen fortsætter med at udskrive erklæringen og udskriver resultatet i henhold til betingelsessættet
  • Enumerate-funktionen i "for loop" returnerer medlemmet af samlingen, som vi kigger på med indeksnummeret

Python 2 Eksempel

Ovenstående koder er Python 3 eksempler, hvis du vil løbe ind Python 2 Overvej venligst følgende kode.

# How to use "While Loop"
#Example file for working with loops
#

x=0
#define a while loop
while(x <4):
		print x
		x = x+1

#How to use "For Loop"
#Example file for working with loops
#

x=0
#define a while loop
#	while(x <4):
#		print x
#		x = x+1

#Define a for loop 
for x in range(2,7):
		print x

#How to use For Loop for String
#use a for loop over a collection
	Months = ["Jan","Feb","Mar","April","May","June"]
	for m in Months:
		print m
		

#How to use break statements in For Loop
	#use a for loop over a collection
	#Months = ["Jan","Feb","Mar","April","May","June"]
	#for m in Months:
		#print m
		
# use the break and continue statements
		for x in range (10,20):
			if (x == 15): break
			#if (x % 2 == 0) : continue
			print x

#How to use "continue statement" in For Loop
	#use a for loop over a collection
	#Months = ["Jan","Feb","Mar","April","May","June"]
	#for m in Months:
		#print m
		
# use the break and continue statements		
		for x in range (10,20):
			#if (x == 15): break
			if (x % 5 == 0) : continue
			print x

#How to use "enumerate" function for "For Loop"
	#use a for loop over a collection
	Months = ["Jan","Feb","Mar","April","May","June"]
	for i, m in enumerate (Months):
		print i,m
		
# use the break and continue statements
		#for x in range (10,20):
		#if (x == 15): break
		#if (x % 5 == 0) : continue
		#print x

Output:

0
1
2
3

2
3
4
5
6

Jan
Feb
Mar
April
May
June

10
11
12
13
14

11
12
13
14
16
17
18
19

0 Jan
1 Feb
2 Mar
3 April
4 May
5 June

Ofte Stillede Spørgsmål

En for-løkke itererer over en kendt sekvens, såsom en liste eller et område, mens en while-løkke fortsætter med at køre, indtil dens betingelse bliver falsk. Bruges til når du kender elementerne, og while til gentagelse uden ende.

`break`-sætningen afslutter hele løkken med det samme, mens `continue` kun springer den aktuelle iteration over og går videre til den næste. `Break` stopper løkken helt, mens `continue` holder den kørende.

Pass-sætningen er en null-pladsholder, der ikke gør noget. Den bruges hvor Python Syntaksen kræver en sætning, men der kræves ingen handling, f.eks. en tom løkkeindhold eller en stub, du planlægger at fuldføre senere.

Ja. En loop else-blok kører kun, når løkken afsluttes normalt uden at ramme et brud. Det er praktisk til søgelogik, for eksempel at udskrive en ikke-fundet-meddelelse efter scanning af hvert element i en sekvens.

Brug while True: for at gentage for evigt, og afslut derefter med en break-sætning, når en betingelse er opfyldt. Python har ingen indbygget do-while-løkke, så mens True med break er den almindelige måde at emulere en på.

En break-sætning afslutter kun den inderste løkke, der indeholder den, så de ydre løkker fortsætter med at køre. For at afslutte alle løkker på én gang skal du bruge en flagvariabel eller flytte løkkerne ind i en funktion og returnere.

Ja. AI-assistenter genererer for- og while-løkker ud fra en simpel beskrivelse, forklarer fejl, finder uendelige løkker og fejl, der ikke er identiske, og foreslår renere muligheder som listeforståelser eller enumerate() til indeksering.

Ja. GitHub Copilot fuldfører automatisk for- og while-løkker, afbryder, fortsætter og opregner fra en kommentar eller nærliggende kode. Agentic AI-værktøjer går endnu længere og refaktorerer løkker eller retter automatisk fejl på tværs af en hel fil.

Opsummer dette indlæg med: