input: Write a function to generate a list of words that start with a given prefix from a provided dictionary. If the given prefix does not match any words in the dictionary, the function should return an empty list.
  
  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(["elephant", "eagle", "egg", "frog", "fox"], "e")==["elephant", "eagle", "egg"]
  assert auto_complete(["zebra", "zoom", "zap"], "a")==[]
  assert auto_complete([], "a")==[]
  assert auto_complete(["apple", "banana", "cherry"], "ban")==["banana"]
output: def auto_complete(dictionary, prefix):
      prefix_words = []
      for word in dictionary:
          if word.startswith(prefix):
              prefix_words.append(word)
      return prefix_words