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@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/