1 5 9 8
0 0 9 9
2 1 0 9
5 6 0 0
Napiso sam funkciju s(red, kol, smer) koja krece rekurzivno od svakog elementa pocetne kolone i nalazi najkraci od tog pocetka. Te rezultate cuvam u listi objekata klase Slog (klasa ima polje zbir gde pamti najmanju sumu i polje put gde se pamti najjeftinija putanja). Na kraju samo treba da da pronadjem element liste koji ima najmanje polje zbir.
I tu nastaje problem. Ja to radim klasicno u petlji ali kako god uradim petlju ona se izvrsi samo 1 put. Dakle nagradno pitanje je zasto se petlja u python-u ne petlja? Evo tog dela:
# uradi s() nad svakim redom
lista = []
for i in range(n):
lista.append(s(i, 0, DESNO))
# nadji najmanju putanju iz liste
najmanji = lista[0]
for i in range(1, n):
print i
if lista[i].zbir < najmanji.zbir:
najmanji = lista[i]
return najmanji
Sve je u redu u kodu do poslednje petlje koja bi trebalo da se izvrsi 3 puta obzirom da je n = 4, a print i mora da odstampa 1, 2, 3, ali se odstampa samo 1!
Ja sam zadatak resio sa lista.sort() pa return lista[0] ali mi se cini da je to neefikasan nacin, a i zivo me zanima sta sa onom petljom nije u redu.
Prilažem i kompletan kod.