input: Write a function to predict the next day's forecasted temperature using the exponential smoothing algorithm given the past three days' forecasted temperatures. If the input list is empty, return None.
  
  def predict_temperature(temperature_list):
      if not temperature_list:
          return None
      alpha = 0.5
      predicted_temperature = temperature_list[-1]
      for temperature in temperature_list[:-1]:
          predicted_temperature = alpha * temperature + (1 - alpha) * predicted_temperature
      return predicted_temperature
  
  assert predict_temperature([21, 22, 20]) == 20.5
  assert predict_temperature([25, 24, 23]) == 23.5
  assert predict_temperature([30, 29, 28]) == 28.5
  assert predict_temperature([]) == None
output: def predict_temperature(temperature_list):
      if not temperature_list:
          return None
      alpha = 0.5
      predicted_temperature = temperature_list[-1]
      for temperature in temperature_list[:-1]:
          predicted_temperature = alpha * temperature + (1 - alpha) * predicted_temperature
      return predicted_temperature