input: Write a function to generate a list of words that start with a given prefix from a provided list of words. The function should return a list of suggested words that match the prefix. If no words match the prefix, the function should return an empty list. If the provided list is empty, the function should return an empty list as well.
  
  def auto_complete(dictionary, prefix):
      prefix_words = []
      for word in dictionary:
          if word.startswith(prefix):
              prefix_words.append(word)
      return prefix_words
  
  assert auto_complete(["dog", "deer", "deal", "dungeon", "dark", "dusk"], "d")==['dog', 'deer', 'deal', 'dungeon', 'dark', 'dusk']
  assert auto_complete(["dog", "deer", "deal", "dungeon", "dark", "dusk"], "de")==['deer', 'deal']
  assert auto_complete(["dog", "deer", "deal", "dungeon", "dark", "dusk"], "x")==[]
  assert auto_complete([], "d")==[]
  assert auto_complete(["cat", "bat", "cow"], "d")==[]
output: def auto_complete(dictionary, prefix):
      prefix_words = []
      for word in dictionary:
          if word.startswith(prefix):
              prefix_words.append(word)
      return prefix_words