input: Write a function to implement a binary search algorithm that searches for a target value in a given sorted array. If the target is found, return True; otherwise, return False. 
  
  def binarySearch(array, target):
      if len(array) == 0:
          return False
      mid = len(array) // 2
      if array[mid] == target:
          return True
      elif target < array[mid]:
          return binarySearch(array[:mid], target)
      else:
          return binarySearch(array[mid+1:], target)
  
  # Test cases
  assert binarySearch([1, 2, 3, 4, 5, 6, 7], 5) == True
  assert binarySearch([1, 2, 3, 4, 5, 6, 7], 8) == False
  assert binarySearch([], 5) == False
  assert binarySearch([1, 2, 3, 4, 5, 6, 7], 1) == True
  assert binarySearch([1, 2, 3, 4, 5, 6, 7], 7) == True
output: def binarySearch(array, target):
      if len(array) == 0:
          return False
      mid = len(array) // 2
      if array[mid] == target:
          return True
      elif target < array[mid]:
          return binarySearch(array[:mid], target)
      else:
          return binarySearch(array[mid+1:], target)