import random import pandas as pd from tkinter import * import threading import os # pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple # pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple # pyinstaller -F -i dog.ico -w 随机点名.py desktop_path = os.path.join(os.path.expanduser("~"), "Desktop") absPath = desktop_path + '/学生表.xlsx' class Demo: def __init__(self): self.user_list = pd.read_excel(absPath).姓名.tolist() self.windows = Tk() self.start = True self.stop = True self.index = '' self.label_var = StringVar(value='XXXXX') self.button_var = StringVar(value=f'开始') def ui(self): self.windows.resizable() self.windows.title('班级点名') width, height = 800, 800 scree_width = (self.windows.winfo_screenwidth() - width) // 2 scree_height = (self.windows.winfo_screenheight() - height) // 2 self.windows.geometry(f'{width}x{height}+{scree_width}+{scree_height}') (Label(self.windows, textvariable=self.label_var, font=('微软雅黑', 60), height=4, background='grey') .pack(side=TOP, fill='x')) (Button(self.windows, textvariable=self.button_var, font=('微软雅黑', 20), command=lambda: self.thread(self.show_name)) .pack(side=TOP, fill='x')) self.windows.mainloop() def thread(self, function): th = threading.Thread(target=function) th.daemon = True th.start() def show_name(self): if self.start: self.button_var.set(f'暂停') self.start = False while self.stop: if len(self.user_list) == 0: self.user_list = pd.read_excel(absPath).姓名.tolist() self.index = random.randint(0, len(self.user_list) - 1) self.label_var.set(self.user_list[self.index]) if not self.stop: self.stop = True del self.user_list[self.index] self.button_var.set(f'开始(剩余{len(self.user_list)})') else: self.start = True self.stop = False if __name__ == '__main__': Demo().ui()python编写的随机点名小程序
张小明
前端开发工程师
灵活用工纳税申报,亲测经验分享
灵活用工平台技术赋能下的合规纳税申报:行业实践与效能分析行业痛点分析当前,灵活用工平台领域在纳税申报环节面临多重技术挑战。首要问题在于业务流、合同流、资金流与发票流的“四流分离”,这直接导致了税务合规风险高企。传统模式下&#…
企业级AXURE9批量授权实战指南
快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个企业AXURE9授权管理系统,功能包括:1.批量导入生成授权码 2.员工账号绑定 3.使用情况监控 4.到期提醒 5.报表统计。采用B/S架构,前端使用…
对比测试:传统APK逆向 vs AI辅助分析效率提升300%
快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个APK分析对比工具,能够并行处理两个APK文件,比较它们的:1) 权限差异 2) 组件变化 3) 资源文件改动 4) 原生库更新。输出可视化对比报告&…
企业级SVN客户端实战:从配置到优化
快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业级SVN客户端,支持多仓库管理、细粒度权限控制、批量操作和性能监控。要求提供详细的配置向导,支持LDAP集成,并能够生成操作日志和审…
零基础入门RustFS:30分钟构建你的第一个文件系统
快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个适合Rust新手的简单文件系统教程项目,要求:1. 只实现最基本的文件读写功能 2. 代码注释详细,解释每个关键点 3. 包含step-by-step的开发…
企业CI/CD中处理Git认证错误的实战指南
快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个演示项目,模拟CI/CD管道中出现的Git认证错误场景。包含:1. 故意配置错误的Git凭据;2. 展示日志中REMOTE: INVALID USERNAME OR TOKEN错…