Hola, gracias por tu respuesta.

Solo me gustaría aclarar una cosa, al hacer algo como R(9+16), realmente se hace R((9)+(16)). A efectos prácticos hace lo que se esperaría que haga estando en el paréntesis, pero no se ve muy bien el resultado. Imagino que solo es cuestión de jugar un poco con las funciones de cadenas.

El usuario puede escribir paréntesis, pero la idea principal detrás de esto, es que al llamar a las funciones, como en este caso de raíz cuadrada, no se tenga que hacer algo como R(value); sino que sea lo más directo posible. Aunque por ahí eso solo es una preferencia, pues sé que si no llevara eso la tarea sería eternamente más sencilla.

Gracias a todos los que han respondido; al final creo que haré una función para escribir el porcentaje, saliéndome un poco de la sintaxis "normal", y el resto es solo de ir añadiendo opciones de cálculo. Saludos.

El 25/01/2013 01:24 a.m., monoBOT escribió:

El 24 de enero de 2013 15:32, manuel <manuelcorte...@gmail.com <mailto:manuelcorte...@gmail.com>> escribió:

    Un problema que se me planteó después, es ¿qué sucedería si
    alguien hace algo como "R25+R9"? El código que recibiría Python
    sería algo como "sqrt(25+sqrt(9)"; por lo que además de lo
    anterior, hice un procedimiento para que viera si hay signos, y si
    los hay, colocara un paréntesis izquierdo y un derecho antes y
    después del signo, para que la suma anterior se pudiera ver como
    "sqrt(25)+(sqrt(9))".


Yo creo q tienes razón cuando dices que ésto que haces puede ser un problema. Que pasa si el usuario quiere meter algo como
R(9+16)
Si lo intenta hacer como tu lo tienes montado terminará haciendo: R(9)+(16).

Desde mi punto de vista tienes que dar controles en esta calculadora al usuario para que pueda definir sus operaciones, y no tratar de resolverlo todo tu. lo que quiero decir es que creo que es magnífica la idea de abrir paréntesis con operadores como raiz cuadrada pero los paréntesis deberían de estar entre los operadores que el usuario puede pulsar y tu cuando el usuario manda la operación al calcular tienes que comprobar que todos los paréntesis han sido cerrados y si no es así poner un paréntesis final. Si el usuario ha olvidado paréntesis intermedios pues entonces tendrá que releer la operación y darse cuenta del error por si mismo, intentar interpretar lo que quiere hacer en estos casos no tiene mucho sentido si me permites.

--
*monoBOT*
Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es <http://monobotblog.alvarezalonso.es>


_______________________________________________
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/

Responder a