[Programación] Problema raro en if (): else: en python WTF???

Horacio Castellini horacio9573 en yahoo.com.ar
Jue Ago 23 11:01:52 ART 2012


Buenas, este problema me desafía todo mi sentido común... lo que busco 
en una matriz A de NRxNR es hallar las codiagonales no nulas y su longitud..

AVISO: Este algoritmo funciona, lo he probado en PERL!!

Pero el siguiente código no se por qué LM y S se mantienen en cero??? 
luego del ELSE: cuando s+=1 si se incrementa en 1!! como lo compruebo en 
el primer "print"  WTF!!!

d=[]
d=[0]*NR
LM=0
s=0
for c in range(5,NR):
    s=0
    for x in range(NR):
        y=x+c
        if (y<NR):
            if (A[x][y]==1):
                s+=1
                print s # aca da <> 0
            else:
                print s,LM # aca me da =0 ????
                if (s>LM):
                    LM=s
                d[s]+=1
                s=0
print "Diagonal maxima %d" % LM

Alguien me puede decir que cuernos le pasa al if??


Más información sobre la lista de distribución Programacion