from math import * def y(x): return sqrt(1.0 - x**2) def trapez(f, a, b, n): h = (b-a) / n sum = 0 x = 0.5 * h # f(x) at middle of the slice for i in range (1,n): sum = sum + h * f(x) x = x + h return sum print 4 * trapez(y, 0., 1.0,1000) print 4 * trapez(y, 0., 1.,10000) print 4 * trapez(y, 0, 2, 1000) # Why the error ?