input: Write a function to compute the moving average of time-series data points by creating a new list where each element is the average of the window-sized sublist of the original input list. If the window size is greater than the length of the list, then use the entire list to calculate the average. If the data points list is empty, return an empty list.
  def moving_average(data_points, window):
       moving_average = []
       for index in range(len(data_points)):
         start = 0 if index-window+1 < 0 else index-window+1
         window_data = data_points[start:index+1]
         average = sum(window_data)/len(window_data)
         moving_average.append(average)
   
       return moving_average
  assert moving_average([3, 5, 7, 2, 8, 10, 11, 65, 72, 81, 99, 100, 150], 3) == [3.0, 4.0, 5.0, 4.666666666666667, 5.666666666666667, 6.666666666666667, 9.666666666666666, 28.666666666666668, 49.333333333333336, 72.66666666666667, 84.33333333333333, 93.33333333333333, 116.33333333333333]
  assert moving_average([], 3) == []
output: def moving_average(data_points, window):
      moving_average = []
      for index in range(len(data_points)):
          start = 0 if index - window + 1 < 0 else index - window + 1
          window_data = data_points[start:index + 1]
          average = sum(window_data) / len(window_data)
          moving_average.append(average)
      
      return moving_average