input: Write a function to generate a list of suggestions based on a given prefix from a dictionary of words. If a word in the dictionary starts with the given prefix, it should be included in the result. The function should return a list containing all such words. If no words match the prefix, the function should return an empty list.
  
  def auto_complete(dictionary, prefix):
      # List for words with the given prefix
      prefix_words = []
      
      # Iterate through the dictionary
      for word in dictionary:
          # If the word starts with the given prefix,
          # add it to the list
          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"], "do") == ["dog"]
  assert auto_complete(["dog", "deer", "deal", "dungeon", "dark", "dusk"], "x") == []
  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