格式化从用户输入到python的数学表达式

时间:2016-08-18 16:07:09

标签: python parsing expression mathematical-expressions

我希望能够将用户的数学表达式的输入转换为数学表达式的python格式。例如,如果用户输入为:

  

3×^ 2 + 5

我希望能够将其转换为

  

3 * X ** 2 + 5

这样我就可以在其他函数中使用这个表达式。是否有任何现有的库可以在Python中完成此任务?

1 个答案:

答案 0 :(得分:1)

您可以使用简单的字符串格式来完成此操作。

import re

expression = "3x^2+5"

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

要获得更高级的解析和符号数学,请查看SymPy' parse_expr