input: Write a python function to find the local minima of a quadratic function within a given range.
  assert optimize(lambda x: x**2 - 4*x + 1, 0, 10) == (2.0, -3.0)
  assert optimize(lambda x: x**2 + 2*x + 1, -10, 10) == (-1.0, 0.0)
  assert optimize(lambda x: (x - 3)**2, 0, 5) == (3.0, 0.0)
output: def optimize(func, start, end):
      from scipy.optimize import minimize_scalar
      
      res = minimize_scalar(func, bounds=(start, end), method='bounded')
      return (res.x, res.fun)