input: Write a function to compute the moving average of time-series data points given a window size. The function should take a list of data points and an integer window size as inputs and return a list of moving averages. If the window size is greater than the number of data points, the function should return a list of zeros of the same length as the input list.
  assert moving_average([3, 5, 7, 2, 8, 10, 11, 65, 72, 81, 99, 100, 150], 3) == [3.0, 4.0, 5.0, 4.333333333333333, 5.666666666666667, 6.666666666666667, 9.666666666666666, 28.666666666666668, 49.333333333333336, 72.66666666666667, 84.33333333333333, 93.33333333333333, 116.33333333333333]
  assert moving_average([1, 2, 3], 5) == [0, 0, 0]
  assert moving_average([], 3) == []
output: def moving_average(data, window_size):
      if window_size > len(data):
          return [0] * len(data)
      return [sum(data[i:i+window_size]) / window_size for i in range(len(data) - window_size + 1)]