import random square = lambda x: x**2 cube = lambda x: x**3 bisquare = lambda x: x**4 def square2(x): return x*x def integral(function, lower, upper): suma = 0 for _ in range(100): suma += function(random.uniform(lower, upper)) return suma/100 * (upper-lower) def integral2(*, function, lower, upper): """ Uses Monte Carlo in order to calculate the integral of function over the interval from lower to upper """ suma = 0 for _ in range(100): suma += function(random.uniform(lower, upper)) return suma/100 * (upper-lower)