Skip to main content

League ranking for arbitrary numbers of competitors.

Project description

Build Status PyPI - Version

Given a collection of entrants and their scores, sort them and return their ranked points.

The mechanism used to allocate the ranked points is a generalised form of that used for the Student Robotics league points (quote from the SR rulebook):

The team with the most game points will be awarded 8 points towards the competition league. The team with the second most will be awarded 6. The team with the third most will be awarded 4 points, and the team with the fewest game points will be awarded 2 points. Teams whose robot was not entered into the round, or who were disqualified from the round, will be awarded no points.

Tied robots will be awarded the average of the points that their combined positions would be awarded. Thus, three robots tied for first place would receive 6 points each (since this is (8+6+4)/3).

The ranker supports an arbitrary number of entrants and zones (as long as there are fewer entrants than zones) and will return points which follow the pattern described above.

The points for the winning team will be 2 × the number of zones, points for subsequent places reduce by 2 points per place. Ties are resolved as described and as a result of the points per place reducing by two, the points for any entrant will always be an integer.

It supports Python 3.7+.

Tests

Tests can be run for the current interpreter by running ./run-tests or for all supported available interpreters by running tox.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

league-ranker-1.0.5.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

league_ranker-1.0.5-py2.py3-none-any.whl (6.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file league-ranker-1.0.5.tar.gz.

File metadata

  • Download URL: league-ranker-1.0.5.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for league-ranker-1.0.5.tar.gz
Algorithm Hash digest
SHA256 f05bdad57b9c848f66aebd6cb080744e0741d27845d87acd4e12518f188c821d
MD5 e367d913ad1122b4b07afb6527a7fd8a
BLAKE2b-256 eab7b268169c422f3f1c5b6c1b7df9bdb61db9cb6a8b11dcd04c46ae64bd89a7

See more details on using hashes here.

File details

Details for the file league_ranker-1.0.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for league_ranker-1.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 faaae3187ed89e99d4ed5d3945184a8fb3f86fa108df965c6d26d829cb538a03
MD5 96c31e4bfe282b597a8505061e42769d
BLAKE2b-256 5c4787f934f1e8ef8932c5f0c41f7f37614bd612d5736b7fe4914eb796da940d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page