input: Write a function to print a formatted table of grades for a given set of students. Each student is represented as a dictionary containing the keys 'name' and 'grade'. The function should calculate the maximum length of student names to properly align the table columns and display the grades for all students. If no students are provided, the function should print an appropriate message.
  assert print_grade_table([{'name': "John", 'grade': 92}, {'name': "Alice", 'grade': 95}, {'name': "Bob", 'grade': 87}])==None
  assert print_grade_table([])==None
output: def print_grade_table(students):
      if not students:
          print("No students provided.")
          return
      
      max_name_length = max(len(student['name']) for student in students)
      
      print(f"{'Name'.ljust(max_name_length)} | Grade")
      print("-" * (max_name_length + 3 + 5))
      
      for student in students:
          print(f"{student['name'].ljust(max_name_length)} | {student['grade']}")