响应式网站 html,农家乐网站源码,网站空间送数据库,网站网页区别一、场景分析
闲来无事#xff0c;老婆说叫我开发一个课堂点名桌面小程序#xff0c;给她在课堂随机点名学生问问题。
人生苦短#xff0c;那就用 Python 给她写一个吧。
二、依赖安装
因为要用到 excel#xff0c;所以安装两个依赖#xff1a;
pip install openpyxl…一、场景分析
闲来无事老婆说叫我开发一个课堂点名桌面小程序给她在课堂随机点名学生问问题。
人生苦短那就用 Python 给她写一个吧。
二、依赖安装
因为要用到 excel所以安装两个依赖
pip install openpyxl
pip install pandas
pip install pyinstaller
三、程序代码
roll-call.py
import random
import tkinter as tk
import pandas as pddef excel_read():# 读取当前路径下学生名单input_pathr.\学生名单.xlsx# 读取 Excel 文件将其存储在一个DataFrame对象中df pd.read_excel(input_path)first_column_array df[学生姓名].values#print(first_column_array)return first_column_arraydef random_pick_student(students):# 随机选择一个学生picked_student random.choice(students)return picked_studentdef main():nparray excel_read()# 转换为 liststudents nparray.tolist()def roll_call(label):# 修改 label textif len(students) 0:label.config(text所有学生都点过名了) else:picked_student random_pick_student(students)str f本次被点名的学生是{picked_student}label.config(textstr)students.remove(picked_student)# 创建主窗口root tk.Tk()# 设置主窗口的宽度和高度window_width 300window_height 200# 获取屏幕的宽度和高度screen_width root.winfo_screenwidth()screen_height root.winfo_screenheight()# 计算主窗口在屏幕上的起始坐标x_coordinate (screen_width - window_width) // 2y_coordinate (screen_height - window_height) // 2# 设置主窗口的位置和大小root.geometry(f{window_width}x{window_height}{x_coordinate}{y_coordinate})root.title(课堂幸运儿点名程序)# 创建标签label tk.Label(root, text按【点名】键开始随机点名按【关闭】键结束~~)# 使用 grid() 方法将标签放置在第一行的第 0 列和第 1 列columnspan 合并两列label.grid(row0, column0, columnspan2)# 创建按钮button1 tk.Button(root, text点名, commandlambda: roll_call(label), bggreen, fgwhite, width10)button2 tk.Button(root, text关闭, commandroot.quit)# 使用 grid() 方法将按钮放置在第二行的第 0 列和第 1 列button1.grid(row1, column0, padx10, pady20)button2.grid(row1, column1, padx10, pady20)# 设置第一行的权重为 1root.rowconfigure(0, weight1)# 设置第二行的权重为 1root.rowconfigure(1, weight1)# 设置列的权重让组件在水平方向上居中root.columnconfigure(0, weight1)root.columnconfigure(1, weight1)# 进入主事件循环root.mainloop()if __name__ __main__:main() 整个程序的执行是先在当前路径下读取 EXCEL 学生名单.xlsx。读取第一列到列表 students。点击【点名】按钮的时候会调用绑定的方法 roll_call随机选中 students 列表中的一个元素修改弹窗的标签文本然后从 students 中移除已经点过名的学生。 学生名单.xlsx 四、运行 py .\roll-call.py 五、打包成 exe
pyinstaller -w roll-call.py
# -w 禁止弹出 CMD 窗口。 将学生名单.xlsx 拷贝到 dist\roll-call 下面然后右键将 exe 文件发送到桌面快捷方式 六、网盘程序欢迎取用
现成打包好的程序