input: Write a function to compute the moving average of time-series data points. The function should accept a list of data points and an integer window size. It returns a list of moving averages where each value is the average of the last 'window' data points up to the current value. If the window size is larger than the number of data points, the function should return the average of all available points up to the current value.
  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, 95.33333333333333, 115.33333333333333]
  assert moving_average([1, 2, 3, 4, 5], 2) == [1.0, 1.5, 2.5, 3.5, 4.5]
  assert moving_average([1], 3) == [1.0]
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