I denne artikel lærer du at gentage en række elementer ved hjælp af de forskellige variationer af for loop.
Video: Python for Loop
Hvad er der til loop i Python?
For-sløjfen i Python bruges til at gentage en sekvens (liste, tuple, streng) eller andre iterable objekter. Iterering over en sekvens kaldes traversal.
Syntaks for for Loop
for val i rækkefølge: Body for
Her valer variablen, der tager værdien af elementet inde i sekvensen på hver iteration.
Loop fortsætter, indtil vi når det sidste element i sekvensen. Kroppen af for loop er adskilt fra resten af koden ved hjælp af indrykning.
Flowchart of for Loop
Flowchart of for Loop i Python
Eksempel: Python for Loop
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Når du kører programmet, vil output være:
Summen er 48
Funktionen Range ()
Vi kan generere en række af tal ved hjælp af range()funktionen. range(10)genererer tal fra 0 til 9 (10 tal).
Vi kan også definere start-, stop- og trinstørrelse som range(start, stop,step_size). step_size er som standard 1, hvis den ikke er angivet.
Den rangeobjekt er "dovne" i en vis forstand, fordi den ikke genererer hvert nummer at det "indeholder", når vi skaber den. Det er dog ikke en iterator da den understøtter in, lenog __getitem__operationer.
Denne funktion gemmer ikke alle værdier i hukommelsen; det ville være ineffektivt. Så det husker start, stop, trinstørrelse og genererer det næste nummer på farten.
For at tvinge denne funktion til at sende alle elementerne, kan vi bruge funktionen list().
Følgende eksempel vil tydeliggøre dette.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Produktion
rækkevidde (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
Vi kan bruge range()funktionen i forsløjfer til at gentage gennem en række af tal. Det kan kombineres med len()funktionen til at gentage gennem en sekvens ved hjælp af indeksering. Her er et eksempel.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Produktion
Jeg kan godt lide pop Jeg kan godt lide rock Jeg kan godt lide jazz
til løkke med andet
En forsløjfe kan også have en valgfri elseblok. Den elsedel udføres, hvis elementerne i sekvensen anvendes til loop udstødninger.
Den breaksøgeord kan bruges til at stoppe en for-løkke. I sådanne tilfælde ignoreres den anden del.
Derfor kører en for loop's anden del, hvis der ikke opstår nogen pause.
Her er et eksempel for at illustrere dette.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Når du kører programmet, vil output være:
0 1 5 Ingen varer tilbage.
Her udskriver for-sløjfen emner på listen, indtil sløjfen er udmattet. Når for-sløjfen udtømmer, udfører den kodeblokken i elseog udskriver Ingen varer tilbage.
Denne for… elseerklæring kan kun bruges med breaknøgleordet til at køre elseblokken, når breaknøgleordet ikke blev udført. Lad os tage et eksempel:
# program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')
Produktion
Ingen post med dette navn fundet.








