-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