数学表达式评估

Ori*_*vit 10 python math evaluation parsing expression

实现python程序的最佳方法是采用字符串并根据运算符优先级输出结果(例如:"4 + 3*5"将输出19).我已经搜索了解决这个问题的方法,但它们太复杂了,我正在寻找一个(相对)简单的问题.

澄清:我需要比eval()略高一些的东西 - 我希望能够添加其他运算符(例如最大运算符 - 4 $ 2 = 4),或者,我对此在学术上比对专业更感兴趣 - 我想要知道怎么做.

Mar*_*n B 16

如果您对"学术上感兴趣",您想要了解如何编写具有运算符优先级的解析器.

Python中的简单自顶向下解析是一篇很好的文章,它构建了一个示例解析器来完成您想要做的事情:评估数学表达式.

我强烈建议您去编写自己的第一个解析器 - 这就是"啊,那是怎么回事"的时刻之一!