通过排序OrderedDict的内容对联赛中的球员进行排名

时间:2018-11-24 13:26:55

标签: python ordereddict

即使更改了值,我似乎也找不到我的代码为什么不起作用的原因,但是我在使用的平台上仍然得到错误的答案

LeagueTable类跟踪联盟中每个球员的得分。每次游戏后,玩家都使用record_result函数记录其得分。球员在联盟中的排名是使用以下方法计算的

逻辑:

得分最高的玩家排名第一(排名第一)。得分最低的玩家排名最后。 如果两个玩家的得分并列,那么玩过最少游戏的玩家将排名更高。 如果两名球员在得分和打牌次数上并列,那么在球员名单上第一名的球员排名更高。 实现player_rank函数,以返回给定等级的玩家。

示例:

elapsed1: 11.46790862083435
elapsed2: 43.438515186309814

48.54user 4.66system 1:05.71elapsed 80%CPU (0avgtext+0avgdata 8431944maxresident)k
732504inputs+0outputs (220major+3764449minor)pagefaults 0swaps

所有玩家得分均相同。但是,阿诺德(Arnold)和克里斯(Chris)的比赛次数少于迈克(Mike),而且由于克里斯(Chris)在球员名单中早于阿诺德(Arnold),因此他排名第一。因此,上面的代码应显示“ Chris”。

这是我的代码

table = LeagueTable(['Mike', 'Chris', 'Arnold'])
table.record_result('Mike', 2) 
table.record_result('Mike', 3)
table.record_result('Arnold', 5) 
table.record_result('Chris', 5)
print(table.player_rank(1))

0 个答案:

没有答案