Zanka for je podobna zanki while. Zanko while uporabljamo takrat, ko
nekaj počnemo večkrat zaporedoma, vse dokler je izpolnjen pogoj za zanko. Zanko for pa navadno
uporabljamo, ko vemo kolikokrat hočemo nekaj izvesti. Zanka for se navadno po
nečem sprehaja in v grobem izgleda takole:
for lokalna_spremenljivka in element_za_sprehajanje:
ukaz1
ukaz2
...
continue
...
break
...
else:
ukaz
...
Zanka for ustvari lokalno spremenljivko lokalna_spremenljivka, ki se sprehaja čez nek element_za_sprehajanje.
Tako je lokalna_spremenljivka na vsakem naslednjem koraku enaka naslednjemu elementu
v nekem zaporedju. Za vsak element se izvedejo vsi ukazi znotraj for zanke. Zanka se preneha
izvajati, ko pridemo do ukaza break ali konca zaporedja. Zanka for ima prav tako break,
continue in else. Else se izvede v primeru, ko se zanka sprehodi čez celo zaporedje.
Obvezen je le for del in blok ukazov, ki mu sledi. S for zanko se lahko sprehajamo po nizih, seznamih, množicah,
slovarjih, objektu, ki ga vrne funkcija range() itd.
Zanka for - naloge
1. podnaloga
Napišite program, ki s pomočjo for zanke in funkcije range() izpiše vsa soda števila
med 1 in 101, vsako število posebej.
Funkcija range(zacetek, konec, korak) ima tri parametre. Ustvari iterator, v katerem
se hrani zaporedje števil od vključno zacetek do vključno konec - 1 s korakom korak. Če koraka
in začetka ne podamo je korak nastavljen na 1 (podamo lahko tudi negativen korak),
začetek pa je enak 0. Konec je vedno obvezen.
Izpis:
2
4
6
...
100
Uradna rešitev
#
for st in range(2, 101, 2):
print(st)
2. podnaloga
Napišite funkcijo veckratniki3(n), ki sešteje vse večkratnike števila 3 med 1 in
vključno n. Uporabi zanko for.
>>> veckratniki3(2)
0
>>> veckratniki3(50)
408
Uradna rešitev
def veckratniki3(n):
'''sešteje vse večkratnike števila 3 med 1 in vklucno n s pomočjo
zanke for ter vrne seštevek'''
sestevek = 0
for st in range(0, n + 1, 3):
sestevek += st
return sestevek
3. podnaloga
Zanka for crka in beseda: se sprehodi po celotni besedi tako, da se premika po eno črko naprej.
S pomočjo zanke for napišite funkcijo dolzina(niz), ki vrne dolžino niza.