首页 > 解决方案 > 有没有办法将方程作为字符串传递给 Python 函数?

问题描述

我目前正在进行的项目是一个 CLI,它的功能类似于 Wolphram Alpha,尽管它更简单。如果我想找到 sin(x)/cos(x) + 1 从 0 到 2 的积分,使用它看起来像这样:

~$ integrate "sin(x)/cos(x)+1", a=0, b=2
1.231

目前我的代码如下所示:

def _integrate(N, a, b):

    # Define the integrand as f
    def f(x):
        return math.sin(x)/(math.cos(x)+1)

    sum = 0

    for n in range(1, N+1):
        sum += f(a + ((n-(1/2)) * ((b-a)/N)))

    return sum * ((b-a)/N)

我的问题是如何获取在命令行中传递的字符串,对其进行解析并将其用作被积函数?到目前为止,我已经研究过使用该compiler模块,但这排除了使用其他函数或常量的可能性。任何朝着正确方向的解决方案或观点将不胜感激,如果有什么需要澄清的,请告诉我。

标签: pythonparsingmath

解决方案


推荐阅读