[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