Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kerith en 4 Enero 2011, 23:07 pm



Título: [Pyhon] Problema con operadores
Publicado por: kerith en 4 Enero 2011, 23:07 pm
Buenas, vengo a consultarles sobre un problema que me ha surgido y no se como solucionar.

El caso es que estoy desarrollando una aplicación para que factorize polinomios, y necesito alguna forma de manejar los operadores entre monomios.

Necesito que la función main() recoja un numero variable de operadores en una lista y que luego opere con los coeficientes de los monomios (que están en otra lista).

Por ahora se me ha ocurrido que podría recoger cada operador en un booleano (true para + y false para -, por ejemplo), hacer una lista y mandarlos a la función. Luego, con sentencias de control, invertir cada coeficiente en función del booleano que toque.
Así, por ejemplo, si tenemos los coeficientes [2, 3, 4] y la lista de booleanos [true, false], habría que convertir los coeficientes en [2, 3, -4], y luego sumarlos.

No creo que me haya explicado bien, pero bueno :D.

¿Voy por el buen camino?

Igual es pedir demasiado, pero la verdad es que ando hecho un lío y no estoy seguro de ir por el camino correcto.

Como siempre, gracias de antemano
salu2, kerith


Título: Re: [Pyhon] Problema con operadores
Publicado por: braulio-- en 5 Enero 2011, 00:28 am
Pero... puedes guardar los símbolos (+ y -) en la lista de coeficientes no? Me refiero a que la lista de coeficientes sea [-3, 2, -5] (directamente con el símbolo)


Título: Re: [Pyhon] Problema con operadores
Publicado por: kerith en 5 Enero 2011, 00:31 am
Si, pero necesito la lista de coeficientes limpia para utilizarla en otras funciones.


Título: Re: [Pyhon] Problema con operadores
Publicado por: braulio-- en 5 Enero 2011, 01:04 am
Pero puedes sacar el número principal con la función abs() (saca el valor absoluto)
Código:
>>> abs(-4)
4

¿Era esa la única duda que tenías sobre el planteamiento del programa?


Título: Re: [Pyhon] Problema con operadores
Publicado por: leogtz en 5 Enero 2011, 01:22 am
Yo lo veo como si tratara de implementar un evaluador de expresiones.


Título: Re: [Pyhon] Problema con operadores
Publicado por: kerith en 5 Enero 2011, 16:24 pm
Buenas, gracias a los dos por responder.

Vamos por partes:

Respecto a lo de cambiar la listas en función  los operadores, tengo dos formas de hacerlo:
- La primera es, en main(), una vez recogida la lista de coeficientes, crear otra lista con los coeficientes cambiados y así tener dos listas distintas en otras funciones.
- La segunda es convertir directamente los coeficientes según los vaya recogiendo y luego, en otras funciones, pasarle a cada uno la función abs(). Mi pregunta es, cuál consumiría más memoria?

Lo siguiente:
¿Era esa la única duda que tenías sobre el planteamiento del programa?

No, por supuesto que no:), pero creo que el resto de problemas debería resolverlos yo mismo, sino no aprenderé:).

La respuesta de Leo Gutiérrez:
Yo lo veo como si tratara de implementar un evaluador de expresiones.
Parece interesante, y no solamente para este programa, me pondré a buscar info al respecto. Conoces alguna buena página que trate sobre el tema?

Muchas gracias a los dos por responder.

salu2, kerith.
 


Título: Re: [Pyhon] Problema con operadores
Publicado por: braulio-- en 5 Enero 2011, 17:16 pm
Si he entendido bien lo que dices yo creo que consumiría menos memoria la segunda (además de ser más intuitiva).