from random import*
def f(x):
return x*x
def montecarlo(f,a,b,n):
cpt = 0
for i in range(0,n):
x = uniform(a,b)
y = uniform(0, max(f(a),f(b)))
if f(x) > y:
cpt = cpt+1
return (1.0*cpt/n)*(b-a)*max(f(a),f(b))
print montecarlo(f,0,2,10)
print montecarlo(f,0,2,100)
print montecarlo(f,0,2,1000)
print montecarlo(f,0,2,10000)