Python:将raw_input字符串转换为数学函数

时间:2016-03-02 11:41:10

标签: python

我刚刚开始编程并且在转换" raw_input"成功能。例如,我假设使用矩形公式对函数f(x)进行数值积分。当我使用以下代码时:

def h(a,b,n):
    return (b-a)/float(n)

def rectangle(f,a,b,n):
    I=0
    h_1=h(a,b,n)
    for j in range(0,n):
        I=I+f((a+(j*h_1)))
    I=I*h_1
    return I

f=raw_input("f(x): ")
a_1=float(raw_input("Please insert the under limit: "))
b_1=float(raw_input("Please insert the upper limit: "))
n_1=int(raw_input("Insert the range for the integration: "))
rectangle(lambda x: f,a_1,b_1,n_1)

我收到以下错误: TypeError:+:' int'不支持的操作数类型和' str' 对于任何功能。

但是,当我将 lambda x:f 更改为 lambda x:x ** 2 并且不使用raw_input时,它可以正常工作。例如:

def h(a,b,n):
    return (b-a)/float(n)

def rectangle(f,a,b,n):
    I=0
    h_1=h(a,b,n)
    for j in range(0,n):
        I=I+f((a+(j*h_1)))
    I=I*h_1
    return I

a_1=float(raw_input("Please insert the under limit: "))
b_1=float(raw_input("Please insert the upper limit: "))
n_1=int(raw_input("Insert the range for the integration: "))
rectangle(lambda x:x**2,a_1,b_1,n_1)

完美无缺。

所以,我的问题是:如何使用raw_input并使程序工作?

0 个答案:

没有答案