首页版面好友提醒登录
返回篮球公园版 同主题展开

[篮版竞猜] QuizHelper竞猜助手上线

huayuankou终须会时辰到别怕 最后修改于2019-12-13 03:53:11
置顶 #4

大家好!


为了让竞猜更加简便,秉着“前人栽树后人乘凉”的想法,我写了个Python小程序QuizHelper,来帮助(现在及未来的)版务组节约清算的时间。现将代码附上,未来的版务有工夫可以完善一下。


使用方法:

一、本程序使用了pandas和numpy包,若没安装过这两个包或者conda的话,需安装一下(命令行输入python -m pip install numpy pandas)。

二、本程序可直接运行(python QuizHelper.py),运行过程中需要回答若干问题,问题如下:

1. 是否为第一轮比赛。默认为否,不是第一轮比赛直接回车即可,第一轮时需输入yes/y/Yes...。

2. 本轮竞猜正确答案。默认为大于等于5道的是非题,也是本赛季竞猜的形式。输入为一个由字符“T”和“F”组成的字符串,如“TFTFT”。程序判断输入有误的条件是:输入的字符串长度小于5,或输入有不是“T”或“F”的字符。

3. 输入本轮比赛答案的文件位置。如果文件放在和QuizHelper.py同一个目录下,直接输入文件名即可。文件的格式为:每一行由ID+答案组成,两部分用逗号隔开。如:

huayuankou,TTFFT

flybut,TTTTT

Jasper,TFFFF

4. 若本轮不是第一轮,则需输入上一轮的默认输出文件。

5. 输入计算结果的文件名(以.txt结尾,如R1.txt)。程序会输出两个文件,一个是普通的、用来保存计算结果的文件R1.txt,另一个是供版务复制粘贴的文件R1_for_post.txt。版务可直接复制后者至BBS即可自动生成排好版的帖子。如(网页版请点击右上角的ASCIIArt查看,得分与上面的答案示例无关):

 Rank|         ID| Attendance| Score| Average| Trend

    1|     Javier|          1|     4|     4.0|    --

    2| huayuankou|          1|     3|     3.0|    --

    2|     flybut|          1|     3|     3.0|    --

三、本人仅在MacOS系统下调试过此程序。Windows系统下可能会出现问题(如换行符),本人对计算机了解甚少,还望有能力者赐教。


感谢wmsyq帮助本人测试了此程序的运行情况,mintcandy、doctor、Casper在rank问题上提供了解决思路与方法(排名不分先后),flybut、Jasper、Javier的ID(只是ID,他们并没有转借我他们的账号)。由于本人编程水平不高,程序可能写得不整洁,还望海涵!


20191108

更新了积分算法:输出分数改为总分,而不是对了几道题。


20191212

1. 修复了“未参加本轮竞猜的id出场数(Attendance)加1”的bug。

2. 增加了本轮得分(RoundScore)。


------

[附] 测试流程:

将QuizHelper.py、test1.txt、test2.txt放至同一目录下,在命令行输入python QuizHelper.py即可打开。

测试第一次执行时第一轮选择“是”,输入由T和F组成的长度为5的任意字符串,测试轮第一轮竞猜答案文件为test1.txt(回答二、3.的问题),输出可任意以.txt结尾的文件作为输出文件名,推荐为R1.txt,方便查找。

测试第二册执行时第一轮选择“否”,输入由T和F组成的长度为5的任意字符串。测试轮第二轮竞猜答案文件为test2.txt,上一轮的结果文件为R1.txt,输出文件名填写R2.txt。