input: Write a function to predict the next day's temperature using the exponential smoothing algorithm based on the past three day's temperatures. If the input list is empty, return None.
  
  def predict_temperature(temperature_list):
      alpha = 0.5
      if not temperature_list:
          return None
      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])==21.0
  assert predict_temperature([15, 18, 20])==18.5
  assert predict_temperature([9, 10, 8])==8.5
  assert predict_temperature([])==None
output: def predict_temperature(temperature_list):
      alpha = 0.5
      if not temperature_list:
          return None
      predicted_temperature = temperature_list[-1]
      for temperature in temperature_list[:-1]:
          predicted_temperature = alpha*temperature + (1-alpha)*predicted_temperature
      return predicted_temperature