[Python-es] Problema raro en if (): else: en python WTF???

Eduard Diaz eventgrafic en gmail.com
Jue Ago 23 19:24:35 CEST 2012


Hola Horacio

Con tu código he hecho una prueba que la puedes ver en [1]

He creado una matriz a pelo y probado tu codigo.

Parece que funciona correctamente, asi que supongo que tendras que ampliar
un poco la descripción del código, reformular la consulta o deducir que el
problema pueda estar en la matriz.

[1] http://pastebin.com/CW8rb0By

Saludos


El 23 de agosto de 2012 17:39, gerardo Juarez
<gerardojuarez en buyteknet.info>escribió:

> Hola,
>
> Coincido con José, no sabemos qué contiene A. Sin embargo, y con los datos
> que tenemos, yo diría que una forma en la que el programa puede tener ese
> comportamiento es si nunca entra al if A[x][y] == 1.  Los valores de A son
> los correctos? Luego parece que el problema
> es en una sección de código y realmente el problema viene desde antes.
> Especialmente me ha pasado cuando convierto un algoritmo probado de un
> lenguaje a otro. Los paréntesis en la expresión no me parece que influyan.
>
> Gerardo
>
>
> Horacio wrote:
>
>> 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??
>> ______________________________**_________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>
>>
>>
>
> ______________________________**_________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120823/9fac1004/attachment.html>


Más información sobre la lista de distribución Python-es