input: Write a function to print the top 5 most frequent words in a given sentence.
  
  
  assert top_5_words("Python is an interpreted, high-level, general-purpose programming language.")==[('Python', 1), ('is', 1), ('an', 1), ('interpreted,', 1), ('high-level,', 1)]
  assert top_5_words("This is a test. This is only a test.")==[('This', 2), ('is', 2), ('a', 2), ('test.', 2), ('only', 1)]
  assert top_5_words("One one two one two three one two three four one two three four five")==[('one', 5), ('two', 4), ('three', 3), ('four', 2), ('five', 1)]
  assert top_5_words("")==[]
  assert top_5_words("Single")==[('Single', 1)]
  
output: def top_5_words(sentence):
      if not sentence:
          return []
      words = sentence.split()
      word_count = {}
      for word in words:
          if word in word_count:
              word_count[word] += 1
          else:
              word_count[word] = 1
      sorted_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
      return sorted_words[:5]