code: def compare_report_print(sorted_list, scores, best_name):
      
      title_items = ["Rank", "Name", "Class-Score", "Overall-Score"]
      class_scores_len = map(lambda x: len(
          str(x["class"])), list(scores.values()))
      shifts = ["%-" +
                str(len(sorted_list) +
                    4) +
                "s", "%-" +
                str(max(map(lambda x: len(str(x)), sorted_list)) +
                    4) +
                "s", "%-" +
                str(max(class_scores_len) + 11) + "s"]
      result = ""
      result += "Best : " + str(best_name) + "\n\n"
      result += ("".join(shifts)
                 ) % tuple(title_items[:-1]) + title_items[-1] + "\n"
      prev_rank = 0
      for index, cm in enumerate(sorted_list):
          rank = index
          if scores[sorted_list[rank]] == scores[sorted_list[prev_rank]]:
              rank = prev_rank
          result += ("".join(shifts)) % (str(rank + 1), str(cm),
                                         str(scores[cm]["class"])) + str(scores[cm]["overall"]) + "\n"
          prev_rank = rank
      if best_name is None:
          result += "\nWarning: " + COMPARE_RESULT_WARNING
      return result
docs: Return compare report.
  
      :param sorted_list: sorted list of cm's
      :type sorted_list: list
      :param scores: scores of cm's
      :type scores: dict
      :param best_name: best cm name
      :type best_name: str
      :return: printable result as str