Python课堂点名桌面小程序
- 创业
- 2025-09-13 02:54:02

一、场景分析
闲来无事,老婆说叫我开发一个课堂点名桌面小程序,给她在课堂随机点名学生问问题。
人生苦短,那就用 Python 给她写一个吧。
二、依赖安装因为要用到 excel,所以安装两个依赖:
pip install openpyxl pip install pandas pip install pyinstaller 三、程序代码 roll-call.py: import random import tkinter as tk import pandas as pd def excel_read(): # 读取当前路径下学生名单 input_path=r".\学生名单.xlsx" # 读取 Excel 文件,将其存储在一个DataFrame对象中 df = pd.read_excel(input_path) first_column_array = df['学生姓名'].values #print(first_column_array) return first_column_array def random_pick_student(students): # 随机选择一个学生 picked_student = random.choice(students) return picked_student def main(): nparray = excel_read() # 转换为 list students = nparray.tolist() def roll_call(label): # 修改 label text if len(students) == 0: label.config(text="所有学生都点过名了") else: picked_student = random_pick_student(students) str = f"本次被点名的学生是:{picked_student}" label.config(text=str) students.remove(picked_student) # 创建主窗口 root = tk.Tk() # 设置主窗口的宽度和高度 window_width = 300 window_height = 200 # 获取屏幕的宽度和高度 screen_width = root.winfo_screenwidth() screen_height = root.winfo_screenheight() # 计算主窗口在屏幕上的起始坐标 x_coordinate = (screen_width - window_width) // 2 y_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(row=0, column=0, columnspan=2) # 创建按钮 button1 = tk.Button(root, text="点名", command=lambda: roll_call(label), bg="green", fg="white", width=10) button2 = tk.Button(root, text="关闭", command=root.quit) # 使用 grid() 方法将按钮放置在第二行的第 0 列和第 1 列 button1.grid(row=1, column=0, padx=10, pady=20) button2.grid(row=1, column=1, padx=10, pady=20) # 设置第一行的权重为 1 root.rowconfigure(0, weight=1) # 设置第二行的权重为 1 root.rowconfigure(1, weight=1) # 设置列的权重,让组件在水平方向上居中 root.columnconfigure(0, weight=1) root.columnconfigure(1, weight=1) # 进入主事件循环 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 文件发送到桌面快捷方式:
六、网盘程序欢迎取用现成打包好的程序
Python课堂点名桌面小程序由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Python课堂点名桌面小程序”