随机抽取工具
RandomCallTool
一个基于 Python + tkinter 的桌面随机抽取应用程序
简介
随机抽取工具(RandomCallTool)是一个基于 Python3 + tkinter 的桌面应用程序,拥有 随机抽组 和 随机抽人 两大核心功能。
主程序提供三档可切换的抽样模式(基本抽样 / 智能抽样 / 加权抽样),并支持样本库管理、历史记录、快捷键操作等丰富特性。
配套的 名单编码工具(EncodeTool) 用于将明文名单编码为 RCP 文件,供主程序的"随机抽人"功能使用。
主要功能
随机抽组
支持从数字(1-26)或字母(A-Z)中随机抽取指定数量的组,操作简单直观。
随机抽人
支持从样本文件(.rcp / .txt / .csv)或样本库中随机抽取指定数量的人名。
三档抽样模式
基本抽样(random.sample)、智能抽样(追踪历史降权)、加权抽样(自定义权重),灵活应对不同场景。
样本库管理
可将常用名单导入样本库(上限 50 个),支持从样本库快速加载,方便日常使用。
历史记录面板
右侧面板展示抽取历史,支持单条保存和批量保存全部历史为 HTML 文件。
配置管理
多选项卡配置窗口,支持自动保存结果、抽样模式、样本管理、更新设置等丰富的自定义选项。
自动检测更新
启动时静默检测 GitHub / Gitee 新版本,发现新版本时弹窗提示下载。
快捷键操作
丰富的键盘快捷键支持,大幅提升操作效率,让抽取工作更加流畅。
详细日志记录
按日期滚动记录程序运行状态,支持查看和清理日志文件,便于调试和追踪。
抽样模式
模式 0 · 基本抽样
使用 Python 内置的 random.sample 进行简单随机抽取,每个样本被抽中的概率均等。适用于简单的抽选场景。
模式 1 · 智能抽样
追踪近期抽取历史,自动降低刚被选中项的权重,让每个人都有更均等的机会被抽中。适用于多次连续抽取的场景。
模式 2 · 加权抽样
可为每个样本单独设置权重,权重越高被抽中的概率越大。适用于需要差异化概率的场景。
名单编码工具
随机抽人名单编码工具(EncodeTool)是 RandomCallTool 的配套工具,用于将明文名单编码为 .rcp 文件,供主程序的"随机抽人"功能使用。
编码转换
支持 Base64 和 Hex 两种编码方式,灵活选择。
批量处理
支持对整个目录下的 .txt 文件进行批量编码或批量解码测试。
命令行模式
支持命令行参数直接指定文件、批量目录、编码方式等。