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".