Petlje umesto vas ponavljaju radnju.
Petlja ponavlja blok koda, pa istu naredbu ne morate pisati iznova i iznova. Koristite for da ponovite radnju jednom za svaku vrednost, a while da je ponavljate dok je uslov True. Svaki prolazak kroz petlju zove se iteracija.
for number in range(5):
print(number)range(5) daje 0, 1, 2, 3 i 4. Najpre number dobija vrednost 0 i Python izvršava uvučeni blok. Zatim number dobija 1 i blok se ponovo izvršava. To se nastavlja do 4; kada više nema vrednosti, petlja se završava. number je promenljiva čija se vrednost menja u svakoj iteraciji.
for → once for each value
while → repeat while a condition is TruePetlja for prati vrednosti jednu po jednu. Petlja while neprestano proverava uslov. U oba slučaja Python izvršava uvučeni blok, a zatim prelazi na sledeću vrednost ili ponovo proverava uslov.
Uvlačenje je i dalje važno: Kao i u lekciji Uslovi, uvlačenje govori Pythonu koje naredbe pripadaju bloku. Svaka uvučena linija u petlji for ili while se ponavlja; kod izvan uvlačenja izvršava se nakon završetka petlje.
print("Hello")
print("Hello")
print("Hello")
# The same action with a loop
for number in range(3):
print("Hello")Bez petlje sami ponavljate istu naredbu. Sa petljom Python umesto vas ponavlja uvučeni blok. Poenta nije u reči "Hello", već u tome što jedan blok može da se izvrši mnogo puta.
for number in range(3):
print(number)
print("Inside the loop")
print("Loop finished")Obe uvučene linije sa print() izvršavaju se u svakoj iteraciji. print("Loop finished") nije uvučen, zato nije deo petlje i izvršava se jednom nakon njenog završetka.
range(5) # 0, 1, 2, 3, 4
range(2, 5) # 2, 3, 4
range(0, 10, 2) # 0, 2, 4, 6, 8Sa jednim argumentom, range(5) počinje od 0 i staje pre 5. Sa start i stop vrednostima, range(2, 5) uključuje 2, ali ne i 5. Treći argument je step: range(0, 10, 2) svaki put prelazi unapred za 2. Zapamtite: start je uključen → stop nije uključen → step određuje veličinu koraka.
count = 1
while count <= 3:
print(count)
count += 1Petlja while se direktno nadovezuje na Uslove: Python proverava count <= 3. Ako je rezultat True, Python izvršava uvučen blok, menja count i ponovo proverava uslov. Kada uslov postane False, petlja se završava. count += 1 je skraćeni zapis za count = count + 1.
count = 1
while count > 0:
print(count)count počinje vrednošću 1, pa je count > 0 True. Ništa u ovoj petlji ne menja count, zato uslov zauvek ostaje True. Kada pišete petlju while, zapitajte se: šta će se promeniti da bi ovaj uslov vremenom mogao da postane False?
for number in range(5):
if number == 3:
break
print(number)break odmah završava celu petlju. Tok je 0 → 1 → 2 → 3 → break → KRAJ. Kada je number == 3, Python izvršava break i nikada ne nastavlja do 4.
for number in range(5):
if number == 2:
continue
print(number)continue preskače ostatak ove iteracije i prelazi na sledeću vrednost. Tok je 0 → 1 → 2 → continue → 3 → 4. Za razliku od break, ne završava petlju: break prekida petlju, dok continue preskače jednu iteraciju.
total = 0
for number in range(1, 4):
total = total + number
print(total)Vrednost total ostaje sačuvana između iteracija. Počnite sa total = 0; kada je number = 1, total postaje 1; zatim number = 2 daje 3; a number = 3 daje 6. Konačni izlaz je 6.
for number in range(3):
print(number)
while count <= 3:
print(count)
count += 1Koristite for kada imate niz ili opseg vrednosti kroz koji prolazite. Koristite while kada ponavljanje zavisi od toga da uslov ostane True. Korisno prvo pitanje je: imam li vrednosti kroz koje prolazim ili uslov koji treba ponovo da proveravam?
