Higher score => better rank (0 is best). Ties share the same rank.
(scores_dict)
| 32 | |
| 33 | |
| 34 | def scores_to_ranks(scores_dict): |
| 35 | """Higher score => better rank (0 is best). Ties share the same rank.""" |
| 36 | # Sort by (-score, name) for deterministic ordering |
| 37 | ordered = sorted(scores_dict.items(), key=lambda kv: (-kv[1], kv[0])) |
| 38 | ranks = {} |
| 39 | prev_score, prev_rank = None, None |
| 40 | for idx, (name, score) in enumerate(ordered): |
| 41 | if score == prev_score: |
| 42 | ranks[name] = prev_rank |
| 43 | else: |
| 44 | ranks[name] = idx |
| 45 | prev_rank = idx |
| 46 | prev_score = score |
| 47 | return ordered, ranks # ordered is list[(name, score)] in finishing order |
| 48 | |
| 49 | |
| 50 | def update_ratings_for_round(scores_dict): |
no outgoing calls
no test coverage detected