2016-08-18 84 views
0

我希望能夠將數學表達式的輸入從用戶轉換爲數學表達式的python格式。例如,如果用戶輸入是:將用戶輸入的數學表達式格式化爲python

3×^ 2 + 5

我希望能夠將其轉換成

3 * X ** 2 + 5

這樣我就可以在其他函數中使用這個表達式。是否有任何現有的庫可以在Python中完成此操作?

+2

[SymPy](http://docs.sympy.org/dev/modules/parsing.html)也許? – Delgan

+1

爲什麼你需要一個圖書館?你需要翻譯多少東西?除了你的例子,沒有任何真正的「非標準」算術符號,對吧? –

+0

我只是想能夠從用戶輸入翻譯任何數學表達式,並且它的圓括號和符號被正確分配。 –

回答

1

您可以使用簡單的字符串格式來完成此操作。

import re 

expression = "3x^2+5" 

expression = expression.replace("^", "**") 
expression = re.sub(r"(\d+)([a-z])", r"\1*\2", expression) 

對於更高級的分析和一般的符號數學,看看SymPyparse_expr