Como comentábamos hace unos meses, faltaba todavía como introducir funciones en los scripts, de manera que éste solicitase la función a evaluar.
Ayer, leyendo un poco pude hacerlo por medio de exec, que ejecuta un string en python. La idea es que inyectemos la función como string, y que luego modelemos el código que va a definir la función. Prácticamente:
print 'Introduzca función de x, por ej: log(x**2)' funintroducida = str(raw_input('Funcion: ')) fnx = 'def function(x): \n' + ' return ' + funintroducida exec fnx
Como vemos, solicita una función de x, la que toma como string. Luego concatena la definición de función, y obtenemos finalmente a function(x), nuestra función matemática.