input: Write a python function to normalize a list of numbers to a range between 0 and 1.
  assert normalize([-1, 0.2, 5.66, -2.344, 0]) == [0.207919258372093, 0.3475470971025046, 1.0, 0.0, 0.293040293040293]
  assert normalize([10, 20, 30, 40, 50]) == [0.0, 0.25, 0.5, 0.75, 1.0]
  assert normalize([1, 1, 1, 1, 1]) == [0, 0, 0, 0, 0]
output: def normalize(numbers):
      min_val = min(numbers)
      max_val = max(numbers)
      if min_val == max_val:
          return [0] * len(numbers)
      return [(num - min_val) / (max_val - min_val) for num in numbers]