import numpy as np
def f(x):
return np.exp(x)
def trapezoidal_rule(a, b, n):
h = (b - a) / n
x = np.linspace(a, b, n+1)
y = f(x)
integral = h/2 * (y[0] + 2*np.sum(y[1:n]) + y[n])
return integral
a, b = 0, 1
n = 1000
result = trapezoidal_rule(a, b, n)
print(f)
aW1wb3J0IG51bXB5IGFzIG5wCgoKZGVmIGYoeCk6CiAgICByZXR1cm4gbnAuZXhwKHgpCgoKZGVmIHRyYXBlem9pZGFsX3J1bGUoYSwgYiwgbik6CiAgICBoID0gKGIgLSBhKSAvIG4KICAgIHggPSBucC5saW5zcGFjZShhLCBiLCBuKzEpCiAgICB5ID0gZih4KQogICAgaW50ZWdyYWwgPSBoLzIgKiAoeVswXSArIDIqbnAuc3VtKHlbMTpuXSkgKyB5W25dKQogICAgcmV0dXJuIGludGVncmFsCgoKYSwgYiA9IDAsIDEKbiA9IDEwMDAgIApyZXN1bHQgPSB0cmFwZXpvaWRhbF9ydWxlKGEsIGIsIG4pCgpwcmludChmKQ==