Python za Loop

U ovom ćete članku naučiti ponavljati niz elemenata koristeći različite varijacije for petlje.

Video: Python za petlju

Što je for petlja u Pythonu?

Petlja for u Pythonu koristi se za itiriranje kroz niz (popis, skup, niz) ili druge iterabilne objekte. Iteriranje nad nizom naziva se prelazak.

Sintaksa for Loop

 za val u slijedu: Tijelo for

Ovdje valje varijabla koja uzima vrijednost stavke unutar niza na svakoj iteraciji.

Petlja se nastavlja sve dok ne dođemo do posljednje stavke u nizu. Tijelo petlje for odvojeno je od ostatka koda.

Dijagram toka za Loop

Dijagram toka za Loop u Pythonu

Primjer: Python za 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) 

Kada pokrenete program, izlaz će biti:

 Zbroj je 48

Funkcija raspona ()

Slijed brojeva možemo generirati pomoću range()funkcije. range(10)generirat će brojeve od 0 do 9 (10 brojeva).

Također možemo definirati veličinu početka, zaustavljanja i koraka kao range(start, stop,step_size). zadana veličina step_size na 1 ako nije naveden.

rangeObjekt je „lijen” u nekom smislu, jer ne stvaraju svaki broj koji je „sadrži” kad smo ga stvorili. Međutim, to nije iteratora budući da podržava in, lente __getitem__operacije.

Ova funkcija ne pohranjuje sve vrijednosti u memoriju; bilo bi neučinkovito. Tako pamti početak, zaustavljanje, veličinu koraka i generira sljedeći broj u pokretu.

Da bismo prisilili ovu funkciju da izbaci sve stavke, možemo je koristiti list().

Sljedeći će primjer to pojasniti.

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

Izlaz

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

range()Funkciju u forpetljama možemo koristiti za itiranje kroz niz brojeva. Može se kombinirati s len()funkcijom za itiranje kroz niz pomoću indeksiranja. Evo primjera.

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

Izlaz

 Volim pop Volim rock Volim jazz

for petlja s else

forPetlje može imati proizvoljnu elseblok kao izvora. elseDio je izvršiti ako stavke u nizu koristi u for petlji ispušnih ventila.

breakKljučna riječ se može koristiti da se zaustavi for petlje. U takvim se slučajevima drugi dio zanemaruje.

Dakle, ostali dio for petlje izvodi se ako se ne dogodi prekid.

Evo primjera koji to ilustrira.

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

Kada pokrenete program, izlaz će biti:

 0 1 5 Nema preostalih predmeta.

Ovdje petlja for ispisuje stavke s popisa dok se petlja ne iscrpi. Kad se petlja for iscrpi, izvršava blok koda u elsei ispisuje Nema preostalih stavki.

Ova se for… elseizjava može koristiti s breakključnom riječi za pokretanje elsebloka samo kada breakključna riječ nije izvršena. Uzmimo primjer:

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

Izlaz

 Nije pronađen nijedan unos s tim imenom.

Zanimljivi članci...