input: Write a function to print a formatted table of grades for a given set of students. The function should take a list of dictionaries where each dictionary contains the 'name' and 'grade' of a student. The table should be formatted with the longest name aligned to the left and the grades aligned to the right. If the list of students is empty, the function should print a single message saying "No students to display."
  
  def print_grade_table(students):
      if not students:
          print("No students to display.")
          return
      
      max_name_length = max(len(student['name']) for student in students)
      line_template = "{{name:<{max_name_length}}}   {{grade:>5}}".format(max_name_length=max_name_length)
      header = line_template.format(name='Name', grade='Grade')
      sep = '-' * len(header)
      print(header)
      print(sep)
      for student in students:
          print(line_template.format(**student))
  
  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 to display.")
          return
      
      max_name_length = max(len(student['name']) for student in students)
      line_template = "{{name:<{max_name_length}}}   {{grade:>5}}".format(max_name_length=max_name_length)
      header = line_template.format(name='Name', grade='Grade')
      sep = '-' * len(header)
      print(header)
      print(sep)
      for student in students:
          print(line_template.format(**student))