将用户输入的数学表达式格式化为 python

Format a mathematical expression from user input to python

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

3x^2+5

我希望能够将其转换为

3*x**2+5

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

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

import re

expression = "3x^2+5"

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

有关更高级的解析和一般符号数学,请查看 SymPy's parse_expr