-2
我想要求用户输入公式,然后在函数内执行该公式。这是我迄今为止所拥有的。我已经看到如何评估一个字符串,如“2 ** 4”给予16,但我希望能够输入5 * x,所以公式为“y = 5 * x”,让func(4)返回20。Python - 将字符串输入转换为函数
formula = raw_input("y= ")
formula = "y=%s" % formula
def func(x):
formula # I have also tried eval(formula)
return y
另一种方式我试图来解决,这是通过执行以下
formula = raw_input("y= ")
formula = "y+=%s" % formula
def func(x):
y = 0
formula # and here I tried eval(formula) again
return y
这只是我用,所以我不担心被恶意代码inputed和执行。 感谢您的帮助
进入到输入框结果[评估字符串中的数学表达式]可能的重复(http://stackoverflow.com/questions/2371436/evaluating-a-mathematical-expression-in-a-string) –
我看着,但它似乎只工作对于特定的值输入(即2 ** 4)而不生成指定c功能(即y = 5x)其中x是该函数的输入。 – Csquared
也许你可以使用SymPy。 – Evert