input: Write a class in Python that can find the median of an unsorted list of numbers. The class should have a method to add numbers to the list and another method to find the median. If the list is empty or has no numbers, 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)
          if n % 2 == 0:
              return (data[(n-1)//2] + data[n//2])/2
          else:
              return data[n//2]
  
  assert MedianFinder().find_median()==None
  assert MedianFinder().add(1).find_median()==1
  assert MedianFinder().add(2).find_median()==2
  assert MedianFinder().add(-1).add(10).find_median()==4.5
  assert MedianFinder().add(3).add(13).add(7).find_median()==7
  assert MedianFinder().add(5).add(2).add(9).add(4).find_median()==4.5
output: class MedianFinder:
      def __init__(self):
          self._data = []
   
      def add(self, num):
          self._data.append(num)
          return self
   
      def find_median(self):
          if not self._data:
              return None
          data = sorted(self._data)
          n = len(data)
          if n % 2 == 0:
              return (data[(n-1)//2] + data[n//2])/2
          else:
              return data[n//2]