# ---一个点名器的python实现--- ## 读取相同目录下的names.xls数据库文件 ## 程序启动后如果检测到数据库文件会自动加上隐藏属性 ## names.xls必须满足以下条件: ### 1. 至少两行和不多于也不少于四列 ### 2. 第一行的四个单元格分别是 |序号|班级|学科|姓名 ### 3. 第二行以下分别按照第一行的要求填写 #### P.S. 第一行的四个单元格会被程序自动忽略,这四个名称只是为了让人方便阅读 ### 软件会自动读取数据库中所有可用的班级名称,并将列举在软件右侧的选择框内. ![image](https://user-images.githubusercontent.com/10991308/200275407-fc43e648-275f-455e-a7c7-2fec00e074e2.png) ### 左击选择框可以选择按照班级的筛选,可以多选,如果不选,则默认不进行筛选. ![image](https://user-images.githubusercontent.com/10991308/200275805-0d64667f-238e-42bb-a332-3be33fd0b5ec.png) ### 点击`立即摇人!`可以在所有满足筛选条件的人员中随机挑选一位,并将其姓名,班级号和学科种类显示在界面上. ![image](https://user-images.githubusercontent.com/10991308/200276213-2eabcb19-7bde-4eca-985e-e0ddf939b484.png) ### 点击`应用班级选用`可以提前应用筛选条件,但不会进行挑选. ~~但是点击摇人的时候本来就会重新应用当前选好的筛选条件,所以这个按钮其实就是做来好看的.~~ ### 为了防止被搞心态,不会出现连续抽到两个一样的人的情况.~~因为懒得写动画所以如果连续抽到两个一样的人就几乎看不出来了~~ ## 隐藏功能:使用config.data文件对指定编号的人员进行指定概率编辑 ~~究竟是什么居心的人才想让我开发这么一个鬼功能~~ ![image](https://user-images.githubusercontent.com/10991308/200277374-0ff24e74-53d6-4d22-b513-bccc9f1af241.png) ![image](https://user-images.githubusercontent.com/10991308/200277421-a81b11a2-eec2-4373-957a-37dc134ef0b8.png) ### 在相同目录下编辑一个config.data文件 ### 如果程序没有检测到文件,什么都不会发生 ### 如果检测到了,自动加隐藏属性并读取文件 ### config.data需要符合以下语法: #### 1. 由N行组成 #### 2. 每一行对应一位需要更改概率的序号 #### 3. 每一行的内容为 `X,+/-/0` 即需要编辑的序号加上一个英文字符逗号加上英文字符+或者-或者数字0 #### 4. 请再看一遍`3.`并确保你记住了每一个词 #### 5. 如果输入了`+`,那么该序号被抽到的概率增加(前提是满足由班级选择器控制的筛选条件),且针对这些人的防搞心态保护失效.具体增加方法为每次抽人都有5% * (被标记为'+'的人的人数)的概率只在被标记为'+'的人中抽取,这个总概率的上限为30%. #### 6. 如果输入了`-`,那么该序号被抽到的概率减少.具体减少方法是每次抽人都有8% * (被标记为'-'的人的人数)直接排除掉这些被标记的人.这个概率的上限是40%. #### 7. 如果输入了`0`,那么该序号便会被拒绝录入.即数据库中虽然存在该编号,但是程序不会将其视为可被抽取的对象. #### 8. 如欲更改配置,仅需在保存了更改后的配置文件后重启点名器程序即可.