Buenas

2012/8/23 Horacio <horacio9...@gmail.com>:
> 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 s=LM=0 ???? el equivalente en
> perl me da <> 0??? WTF
>                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??

No he mirardo ni probado el código, pero comprueba si el "else"
corresponde al primer "if" en vez de al segundo.

Saludos,
Iñigo Serna
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a