fork download
  1. def f(x):
  2. return abs(42-x)**2
  3.  
  4. def improve(x):
  5. newX = x + 0.1
  6. return newX, f(newX)
  7.  
  8. def optimize(f, goal):
  9. x = 0
  10. err = f(x)
  11. while err >= goal:
  12. x, err = improve(x)
  13. return x, err
  14.  
  15. print(optimize(f, 0.5))
Success #stdin #stdout 0.03s 9440KB
stdin
Standard input is empty
stdout
(41.30000000000032, 0.48999999999955635)