input: Write a function to calculate the mean and median of an input array. The function should return the mean and median values as a tuple. If the array is empty, return (None, None).
  
  def mean_median(arr):
      if len(arr) == 0:
          return (None, None)
      
      arr_sum = 0
      for i in range(len(arr)):
          arr_sum += arr[i]
      
      mean = arr_sum / len(arr)
      
      arr = sorted(arr)
      if len(arr) % 2 != 0:
          median = arr[len(arr) // 2]
      else:
          median = (arr[len(arr) // 2] + arr[len(arr) // 2 - 1]) / 2
      
      return (mean, median)
  
  assert mean_median([10, 15, 20, 25, 30, 35]) == (22.5, 22.5)
  assert mean_median([1, 2, 5, 7, 8]) == (4.6, 5)
  assert mean_median([3, 4, 1, 2]) == (2.5, 2.5)
  assert mean_median([]) == (None, None)
output: def mean_median(arr):
      if len(arr) == 0:
          return (None, None)
      
      arr_sum = 0
      for i in range(len(arr)):
          arr_sum += arr[i]
      
      mean = arr_sum / len(arr)
      
      arr = sorted(arr)
      if len(arr) % 2 != 0:
          median = arr[len(arr) // 2]
      else:
          median = (arr[len(arr) // 2] + arr[len(arr) // 2 - 1]) / 2
      
      return (mean, median)