Python for Loop

Šajā rakstā jūs iemācīsities atkārtot elementu secību, izmantojot dažādas cilnes variantus.

Video: Python for Loop

Kas ir cilpa Python?

For cikls Python tiek izmantots, lai atkārtotu secību (saraksts, kopa, virkne) vai citus iterējamus objektus. Atkārtojumu par secību sauc par šķērsošanu.

Loka sintakse

 for val secībā: Body of for

Šeit valir mainīgais, kas katrā atkārtojumā ņem secības iekšpusē esošo vērtību.

Loop turpinās, līdz mēs sasniedzam pēdējo vienumu secībā. Par cilpas pamattekstu atdala no pārējā koda, izmantojot ievilkumu.

Bloka diagramma par cilpu

Bloka diagramma par cilpu Python

Piemērs: 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) 

Palaidot programmu, izeja būs:

 Summa ir 48

Diapazona () funkcija

Izmantojot range()funkciju, mēs varam ģenerēt skaitļu secību . range(10)ģenerēs skaitļus no 0 līdz 9 (10 cipari).

Mēs varam arī definēt sākuma, pieturas un soļa lielumu kā range(start, stop,step_size). step_size pēc noklusējuma ir 1, ja tas nav norādīts.

rangeObjekts ir "slinks", savā ziņā, jo tā nerada katru numuru, ka tas "ir", kad mēs veidojam to. Tomēr tas nav iteratora, jo tā atbalsta in, lenun __getitem__operācijas.

Šī funkcija neuzglabā visas vērtības atmiņā; tas būtu neefektīvi. Tātad tas atceras sākumu, pieturu, soļa lielumu un ģenerē nākamo numuru, atrodoties ceļā.

Lai piespiestu šo funkciju izvadīt visus vienumus, mēs varam izmantot šo funkciju list().

Nākamais piemērs to paskaidros.

 print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))

Rezultāts

 diapazons (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)

Mēs varam izmantot range()funkciju forcilpās, lai atkārtotu skaitļu secību. To var apvienot ar len()funkciju, lai atkārtotu secību, izmantojot indeksēšanu. Šeit ir piemērs.

 # 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))

Rezultāts

 Man patīk pops Man patīk roks Man patīk džezs

par cilpu ar citu

forCilpa var būt izvēles elsebloks, kā arī. elseDaļa tiek izpildīts, ja preces secībā izmanto cilpas izplūdi.

breakAtslēgvārds var izmantot, lai apturētu par cilpu. Šādos gadījumos pārējā daļa tiek ignorēta.

Tādējādi daļa for for loop darbojas, ja nenotiek pārtraukums.

Šeit ir piemērs, lai to ilustrētu.

 digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")

Palaidot programmu, izeja būs:

 0 1 5 Nav atstāts neviens vienums.

Šeit for for loop drukā saraksta vienumus, līdz cilpa ir izsmelta. Kad for for cikls ir iztukšots, tas izpilda koda bloku elseun izdrukā nevienu vienumu.

Šo for… elsepaziņojumu var izmantot kopā ar breakatslēgvārdu, lai palaistu elsebloku tikai tad, kad breakatslēgvārds netika izpildīts. Ņemsim piemēru:

 # 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.')

Rezultāts

 Nav atrasts neviens ieraksts ar šo nosaukumu.

Interesanti raksti...