input: Write a function to print the top 5 most frequent words in a given sentence. If the sentence is empty, return an empty list. The function should split the sentence into words, count the frequency of each word, and then return the top 5 words with their frequencies.
  
  def top_5_words(sentence):
      if not sentence:
          return []
      words = sentence.split()
      counter = collections.Counter(words)
      result = counter.most_common(5)
      return result
  
  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("The quick brown fox jumps over the lazy dog")==[('The', 1), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1)]
  assert top_5_words("")==[]
  assert top_5_words("Python Python Python is fun fun fun")==[('Python', 3), ('fun', 3), ('is', 1)]
  assert top_5_words("a a a b b c d d d d")==[('d', 4), ('a', 3), ('b', 2), ('c', 1)]
output: def top_5_words(sentence):
      if not sentence:
          return []
      words = sentence.split()
      counter = collections.Counter(words)
      result = counter.most_common(5)
      return result