input: Write a function to get the maximum and minimum values in a given list. The function should return a tuple containing the minimum value and the maximum value. If the list is empty, the function should return (None, None).
  
  def get_max_min(lst):
      if not lst:
          return (None, None)
      
      min_value = lst[0]
      max_value = lst[0]
      
      for i in range(1, len(lst)):
          if lst[i] > max_value:
              max_value = lst[i]
          if lst[i] < min_value:
              min_value = lst[i]
      
      return (min_value, max_value)
  
  assert get_max_min([3, 4, 5, 1, 2]) == (1, 5)
  assert get_max_min([7, 2, 9, 4, 6]) == (2, 9)
  assert get_max_min([10, 10, 10, 10]) == (10, 10)
  assert get_max_min([]) == (None, None)
output: def get_max_min(lst):
      if not lst:
          return (None, None)
      
      min_value = lst[0]
      max_value = lst[0]
      
      for i in range(1, len(lst)):
          if lst[i] > max_value:
              max_value = lst[i]
          if lst[i] < min_value:
              min_value = lst[i]
      
      return (min_value, max_value)