python - 有没有办法将方程作为字符串传递给 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
模块,但这排除了使用其他函数或常量的可能性。任何朝着正确方向的解决方案或观点将不胜感激,如果有什么需要澄清的,请告诉我。
解决方案
推荐阅读
- java - Java 8 groupingBy 不能用列表参数分组
- r - 需要在创建邻接矩阵之前设置截止值
- python - 使用 Beautifulsoup 抓取网页 - 输出无意中合并的单词(例如,ThisHappens)
- android-studio - Flutter CLI 适用于 mac 终端,但不适用于 VSCode 或 Android Studio
- angular - 如何在 angular cli 中更新 angular8 中生成服务的模块?
- python - 如果 n 是正整数,Max(n, log(n, 2)) 是否应该返回 n?
- react-native - React Native 中带有 React Hooks 的基本全局状态
- python - Python Change Return Program:计算更改时出错
- javascript - 为什么在 phpdesktop chrome 中显示此错误“Uncaught ReferenceError: openFile is not defined at HTMLButtonElement.onclick”?
- javascript - 在 angular6 中无法导航到带有 href=#id 的 html 内部元素