我目前正在研究一个整体计算器作为项目的一部分。它完美地工作,除了我不知道如何使用户定义的功能集成。这就是我定义函数的方式:
def func(x):
return math.sin(x**2)+x*2+2
你们有没有想过让用户输入功能的方法?提前感谢您的帮助。
答案 0 :(得分:2)
很难推荐这个,但请查看eval
import math
def func(maths_expression, x):
return eval(maths_expression)
> print func("math.sin(x**2)+x*2+2", 17)
35.973478979714244
答案 1 :(得分:2)
from sympy import *
def func(str, x_value):
expr = sympify(str)
var('x')
return N(expr.subs(x,x_value))
str = 'sin(x**2)+x*2+2'
print (func(str, 5))
用户不必使用这种方法指示sin函数来自数学模块。