input: Write a class in Python that can find the median of an unsorted list of numbers. If the list is empty, return None.
  class MedianFinder:
   def __init__(self):
       self._data = []
   
   def add(self, num):
       self._data.append(num)
   
   def find_median(self):
       if not self._data:
           return None
       data = sorted(self._data)
       n = len(data)
       return (data[(n-1)//2] + data[n//2])/2
   
  assert MedianFinder().find_median() == None
  mf = MedianFinder()
  mf.add(1)
  mf.add(2)
  mf.add(3)
  assert mf.find_median() == 2.0
  mf2 = MedianFinder()
  mf2.add(5)
  mf2.add(4)
  mf2.add(3)
  mf2.add(2)
  mf2.add(1)
  assert mf2.find_median() == 3.0
  mf3 = MedianFinder()
  mf3.add(1)
  mf3.add(2)
  mf3.add(3)
  mf3.add(4)
  mf3.add(5)
  mf3.add(6)
  assert mf3.find_median() == 3.5
output: 
  def __init__(self):
      self._data = []
  
  def add(self, num):
      self._data.append(num)
  
  def find_median(self):
      if not self._data:
          return None
      data = sorted(self._data)
      n = len(data)
      return (data[(n-1)//2] + data[n//2])/2
  