input: Write a class in Python that can find the median of an unsorted list of numbers. The class should have methods to add numbers to the list and to find the median of the list. If the list is empty, the find_median method should 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)
  assert mf.find_median() == 1.5
  mf.add(3)
  assert mf.find_median() == 2
output: 
  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
  