我需要创建一个计算高分“排行榜”的函数/方法(在python中)。每个玩家都会玩任意数量的回合,每回合都会得到一个分数。我想知道什么是对顶级球员进行排序的最佳方法(包括得分和回合数)。每轮可能的分数是F、D、D、D+、C-、C+、B-、B+、A-、和A。
显然,一个简单的平均数是行不通的,因为它没有考虑到比赛的回合数。设置公平排序功能的最佳方法是什么?
编辑:我一直在读一些非常好的答案,我想试着澄清一下我的问题。我希望球员们的得分和他们踢过的回合数都能以公平的方式计入他们的排名。这意味着一个20 B的球员应该比一个5 a的球员有更高的排名。基本上,高分应该反映出一般的努力和技能,“回合数加上他们的得分”意味着他们的排名应该更高。
编辑2:在阅读了答案之后,我认为最好的方法是简单地将所有回合的玩家积分相加。我不确定该给哪个答案分配绿色支票,因为你们都是对的。
最佳答案
有很多方法可以做到这一点。试试这个,例如,让F-A为0-11(你可以自己做,但是要考虑难度),所以每个分数都比上一个高一个。每场比赛你都会得到一分(0-11)。创建一个总分,每次将游戏分数添加到总分中。这样,如果一个人得了7 a,也就是77分,而一个人得了7 a-,就得70分,然后简单地对他们进行排序。当然,每个函数都有其缺点。这个功能不是“最好的”,考虑到得到20B将超过7A即使,7A是一个更好的分数。如果你能给我更多的细节,你想如何排名他们,那么它将更容易得到算法下来。
关于python - 计算游戏的高分表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7297217/