Python


For

Včasih je uporaba zanke "while" za iteracije preko vseh elementov seznama malo nepraktična. Življenje bo lažje, če uporabimo drugo obliko krmilnega stavka, ki mu pravimo zanka  "for", ki deluje na naslednji način:

teden=['ponedeljek','torek','sreda','cetrtek','petek','sobota','nedelja']
print "Dnevi v tednu so: "
for dan in teden:
print dan
print

V tem primeru Python za vsako vrednost v seznamu "teden" priredi spremenljivki z imenom "dan" to vrednost in nato izvede stavke bloka, ki sledi. Seveda lahko na ta način uporabimo katerikoli seznam in za začasno spremenljivko uporabimo katerokoli ime.

Zanke "for"najbolj pogosto uporabljamo za sezname števil. Python nam nudi funkcijo, ki avtomatsko tvori seznam števil. To je funkcija  "range" in ima le en parameter, ki pomeni dolžino seznama. Na primer:

range(10)	        # tvori [0,1,2,3,4,5,6,7,8,9]
for x in range(15): # ta zanka izpise 1 do 15
print x+1

Paziti moramo na naslednje: ni varno spreminjati seznam, preko katerega pravkar iterira zanka "for". Primer take slabe rabe je naslednji::

a = range(10)
for stevilo in a:
a[stevilo] = stevilo+1

Podobno kot  zanko "while"  lahko tudi zanko "for" predčasno zapustimo s stavkom "break". Zanka  "for" ima tudi blok  "else", ki se izvede, če ne uporabimo stavka  "break". Primer:


izbira = ['majhen','srednji','velik']
for velikost in izbira:
print "Ali zelis", velikost, "kozarec vode?"
odgovor = raw_input()
if odgovor == 'da':
break
else:
print "Tudi prav! Ne dam ti nic!"
velikost="prazen"
print "Izbral si", velikost, "kozarec vode."

Zanke "for" in "while" lahko tudi gnezdimo (podobno, kot lahko znotraj stavka "if" vstavimo nek drug stavek "if""). Kot primer gnezdenja bi naslednji program  na zaslon narisal s pomočjo zvezdic nek vzorec :


for y in range(-10,10):
for x in range(-10,10):
if (x*x + y*y) < 90:
print "*",
else:
print " ",
print

Opazimo, da smo tu funkciji  "range" posredovali dva argumenta. Čas je, da s pomočjo referenčnih priročnikov ugotovimo, kaj pomeni ta nenavadni primer uporabe funkcije "range". Referenčni priročnik najdemo na domači strani Python, ko tam poiščemo "Library Reference". Poiščimo sekcijo "Built-in Functions" (vgrajene funkcije). Tu poiščimo funkcijo  "range" in si preberimo vse o njej! Tu najdemo tudi druge vgrajene funkcije, ki smo jih doslej uporabili. Podatkovne tipe, ki smo jih uporabljali, pa najdemo v sekciji "Built-in Types".