input: Write a function to print the top 5 most frequent words in a given sentence. The function should split the sentence into words, use a counter to count word frequencies, and return the top 5 most frequent words. If the number of words in the sentence is less than 5, it should return all the words sorted by frequency.
  
  assert top_5_frequent_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_frequent_words("The quick brown fox jumps over the lazy dog.")==[('The', 2), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1)]
  assert top_5_frequent_words("")==[]
  assert top_5_frequent_words("One one one two two three three three three")==[('three', 4), ('one', 3), ('two', 2)]
output: def top_5_frequent_words(sentence):
      from collections import Counter
      words = sentence.split()
      word_counts = Counter(words)
      sorted_words = sorted(word_counts.items(), key=lambda item: item[1], reverse=True)
      return sorted_words[:5]