input: Write a function to create an autocomplete system that predicts words based on the input text. The function should generate the word candidates, filter them, rank the words in order of relevance, and return the top 5 words. If there are fewer than 5 words, it should return all available words.
  assert autocomplete("app")==["apple", "application", "append", "applicable", "appreciate"]
  assert autocomplete("pyth")==["python", "pythagoras", "pythonesque", "pythium", "pythonic"]
  assert autocomplete("data")==["database", "dataframe", "datascience", "datastructure", "datapoint"]
  assert autocomplete("foo")==["food", "football", "footprint", "foolproof", "foobar"]
  assert autocomplete("")==[]
  assert autocomplete("zzz")==[]
output: def autocomplete(input_text):
      word_list = ["apple", "application", "append", "applicable", "appreciate", "python", "pythagoras", "pythonesque", "pythium", "pythonic", "database", "dataframe", "datascience", "datastructure", "datapoint", "food", "football", "footprint", "foolproof", "foobar"]
      if not input_text:
          return []
      filtered_words = [word for word in word_list if word.startswith(input_text)]
      return sorted(filtered_words)[:5]