几个小时以来,我一直试图输入一个方程作为我的函数的参数。我希望用户能够编写自己的方程式,然后我的程序就会集成。
到目前为止我得到的最好的是它(它集成但不允许用户选择等式):
def integrate(x):
def f(x):
return x**2 + x * 42
n = 10000
a = 0 #lower limit
b = 1 #upper limit
small_element = (b - a) / n
result = 0
for k in range(0, n):
result += f(a + (k +0.5)* small_element)
result *= small_element
return result
正如我所说,上面代码的问题是用户没有选择等式。这个程序只适用于我自己写下的这个x ** 2 + x * 42的特定方程。如何让用户自己输入数学方程式?例如,我希望他能够在控制台中书写:
Integrate(x**3 + x**2 + x + 42)
然后将等式输入我的程序并相应地集成它。
我还在考虑把这个等式作为一个字符串,并以某种方式使它成为一个浮点数的东西,但这也不起作用。