Float() y Compilador

Hernan Martínez Foffani hernan en orgmf.com.ar
Sab Nov 20 19:00:52 CET 2004


> 1. Eso de estar pasando las operaciones q realizo a Float para q me de
> la respuesta correcta y no me de un Entero... es algo molesto,(bueno
> para mi). Ejm:  Fx=Float(x[i]-fx[i])/Float(xint-x[i]). Si alguien me
> pudiera decir una forma de estar poniendo a cada rato Float, digamos q
> se defina desde el comienzo q se van a trabajar con un tipo de
> dato.(para no estar transformando a cada rato)

En el ejemplo que pones bastaría con que el vector x o el fx tengan
valores float para que el resultado sea un float.

  >>> type(2 + 3)
  <type 'int'>
  >>> type(2 + 2.0)
  <type 'float'>
  >>>

Mientras los operandos sean enteros python utiliza operaciones
enteras.  Pero si ve que un operando es float, la operación de
la expresión en la que se encuentra es promocionada a float.

> 2. Bueno una particularidad q tenian los programas q hacia hace
> siglos, era q usaba un pequeño compilador q le permitia al usuario
> ingresar la funcion con la q se iva a trabajar... Por ejemplo cuando
> el programa hallaba el area de una funcion, el usuario podia ingresar
> la funcion. Si alguien conoce alguna forma de hacer esto con Python
> se lo agradeceria.

No entiendo bien qué quieres hacer pero sospecho que no necesitarás
un "compilador" especial.  Mira la documentación de la función
eval que segun entiendo es lo que precisas.  Eso sí, ten cuidado con
los temas de seguridad.

  >>> import math
  >>> eval("math.sin(math.pi / 2)")
  1.0
  >>>

-H.




Más información sobre la lista de distribución Python-es