Pri sprehodu po tabeli včasih poleg trenutnega elementa potrebujemo tudi njegov indeks. V tem primeru lahko uporabimo to zanko:
for indeks in range(len(tabela)): # indeks je indeks trenutnega elementa tabele # tabela[indeks] je trenutni element tabele
Spremenljivka indeks
prepotuje vse veljavne indekse tabele, od 0 do len(tabela) - 1
tabela[indeks]
.
Vrnimo se k naši Lizi. V katerih mesecih je Liza prodala več kot 300 kilogramov sladkarij? Da bo naloga enostavnejša, bomo najprej izpisali indekse mesecev (njihove zaporedne številke, zmanjšane za ena). Januar ima torej indeks 0, februar 1 itd. Indeksi mesecev ustrezajo indeksom v tabeli, saj element na indeksu 0 predstavlja prodajo v januarju, element na indeksu 1 prodajo v februarju itd. Zato lahko naš problem rešimo tako, da se sprehodimo po indeksih tabele in vsakokrat pogledamo element na trenutnem indeksu. Če je večji od 300, potem vemo, da je Liza v mesecu s tem indeksom prodala več kot 300 kg sladkarij, zato indeks izpišemo.
Zgornji program izpiše števila 3, 4, 8, 10 in 11, ki predstavljajo mesece april, maj, september, november in december.
Popravi program tako, da bo izpisal imena mesecev, ko je bilo prodanih več kot 300 kilogramov sladkarij. Pomagaj si s to tabelo:
meseci = ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec']
Kako bi določili indeks meseca, v katerem je bila prodaja najnižja? Podobno kot pri računanju najmanjše vrednosti v tabeli si tudi tokrat pomagamo z dodatno spremenljivko, le da ta vsebuje indeks najmanjšega elementa izmed vseh tistih elementov, po katerih smo se že sprehodili. Sicer pa je postopek reševanja zelo podoben. Recimo, da indeks doslej najmanjšega elementa hranimo v spremenljivki indeksMin
. Če je element na trenutnem indeksu manjši od elementa na indeksu indeksMin
, potem spremenljivki indeksMin
priredimo trenutni indeks. Tako dosežemo, da bo spremenljivka indeksMin
po vsakem koraku zanke vsebovala indeks doslej najmanjšega elementa, po koncu zanke pa indeks najmanjšega elementa celotne tabele.
Najmanjši element tabele ima indeks 7, kar pomeni, da je Liza najmanj sladkarij prodala v avgustu.