[Python-es] Por que el código perl anda y el python no?? para jugar y romperse la cabeza contra el teclado..
gerardo Juarez
gerardojuarez en buyteknet.info
Jue Ago 23 21:31:21 CEST 2012
De acuerdo, y > x, pero, es que el 'if' contiene un 'or':
if y < NR or x < NR:
Por lo tanto, hay casos en los que y >= NR y todavía x < NR no? Es en
estos casos donde 'y' está fuera de rango y aún ejecuta el
'if' en Perl. El intérprete completa la matriz con ceros y por eso
funciona el algoritmo, pero en realidad está mal, porque no debería de
depender de ese hecho.
Saludos
Jose Caballero wrote:
>
>
> El 23 de agosto de 2012 14:46, gerardo Juarez
> <gerardojuarez en buyteknet.info <mailto:gerardojuarez en buyteknet.info>>
> escribió:
>
> Ahora sí, con esto sí se puede comparar. Tu instrucción en la
> versión en Perl:
>
> if(($y<$NR)||($x<$NR)){
>
> No es la misma a la versión en Python:
>
> if y<NR :
>
> Si la pones igual en Python, lo cual sería:
>
> if y < NR or x < NR:
>
>
>
>
> Yo creo que eso no afecta, porque esta definiendo siempre 'y' como 'y
> = x + c', donde c > 0.
> Por tanto, nunca se dara el caso de que 'x' pase el limite sin que 'y'
> lo pase tambien.
> Con 'y < NR' es, por tanto, suficiente.
>
>
> Yo creo que el problema es que, como comentaba en otro email, hay dos
> sentencias que estan dentro del bloque else en codigo python pero no
> en codigo perl.
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
Más información sobre la lista de distribución Python-es