我正在构建一个问答游戏,我想根据人们的答案对他们进行排名。
这些问题都是基本的琐事,人们可以回答 A、B、C 或 D,然后判断他们是对还是错。
我想根据他们的答案对他们进行排名,但在某些特定情况下存在问题:
玩家 1 已回答 10 个问题,并有 5 个正确答案 玩家 2 已回答 6 个问题,并有 5 个正确答案
在这种情况下哪一个应该排名更高?
我应该使用正确答案总数还是比例或正确答案来对人员进行排名?是否有一种算法可以使用这两种数据来根据这两个指标提供公平的排名? 在技术方面,如何组织数据,以便我能够在不扫描所有用户数据库的情况下判断玩家的排名?
如果您需要更多详细信息,请告诉我。 感谢您的帮助。
最佳答案
如果答案错误,您可以惩罚该人 -1
分,如果答案正确,您可以奖励 +3
分。作为随机选择答案的人,预期分数为零,即 1/4 * 3 + 3/4 * -1 = 0
。
在技术方面,如果每个人有两列,其中包含错误和正确答案的数量,您可以计算每个人的分数,然后按如下方式排序:
SELECT person_id, (wrong_num * (-1) + correct_num * 3) as rank
FROM scores
Order by rank
关于algorithm - 问答游戏的排名算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795480/