input: Write a function to generate a list of words that start with a given prefix from a provided dictionary. The function should return a list of words that match the prefix.
  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(["apple", "orange", "banana", "apricot"], "ap") == ["apple", "apricot"]
  assert auto_complete(["python", "java", "javascript", "csharp"], "ja") == ["java", "javascript"]
  assert auto_complete(["bear", "bird", "deer", "camel"], "ca") == ["camel"]
  assert auto_complete([], "d") == []
output: def auto_complete(dictionary, prefix):
      prefix_words = []
      for word in dictionary:
          if word.startswith(prefix):
              prefix_words.append(word)
      return prefix_words