教师节到了,用Python做了个非常好用的学生点名系统
教师节到了,用Python做了个非常好用的学生点名系统
教师节到了,祝伟大的老师们教师节快乐!
前言
我的亲人和朋友里有很多老师,根据我的调查,现在的学生大部分都很积极,会主动举手回答问题。但是,也会遇到一些不好的情况,比如年级越高主动举手的人越少,有些班级举手的通常都是少部分积极的学生,有部分学生从来不举手。
一个随机的学生点名系统可以帮老师解决这些问题。
随机点名会从全班学生中随机点一个学生,这样所有人都有机会回答问题,促进教育公平。
点名系统有几秒钟滚动的时间,会增加学生的紧张感,让开小差的学生也赶紧集中精神,起到一点督促学习的作用。
如果真的没有学生举手,老师也不用为难,点名系统可以作为老师的“杀手锏”。
实际情况中可以一部分时间靠学生主动,一部分时间用点名系统,灵活使用。
点名系统视频展示
本文用Python实现了一个非常好用的学生点名系统,文末提供打包好的系统下载方式。先看一下效果:
教师节,用Python制作一个非常好用的点名系统
实现方式介绍
1.读取excel表格
openpyxl是Python中用于读写excel文件非常方便的库,pip install openpyxl安装即可使用。
本文用openpyxl来读取excel中的所有学生姓名。
def get_students_name():# 学生名单中需要有"姓名"列workbook = openpyxl.load_workbook('学生名单.xlsx')table = workbook.activerows, cols = table.max_row, table.max_columnname_col = 0for col in range(cols):if table.cell(1, col + 1).value == '姓名':name_col = colbreakstudents_name = [table.cell(row+1, name_col+1).value for row in range(1, rows)if table.cell(row+1, name_col+1).value is not None]return students_name
openpyxl使用参考:Python使用openpyxl模块读写excel文件
2.搭建系统界面
tkinter是Python中GUI编程非常好用的库,而且是标准库,不需要安装,导入即可使用。
本文用tkinter搭建学生点名系统的界面,并在界面上实现点名按钮和显示点名结果。
if __name__ == '__main__':window = tk.Tk()window.geometry('600x400+400+180')window.title('\t 学 生 点 名 系 统 (公众号:小斌哥ge)')# 添加背景图片bg_png = tk.PhotoImage(file="背景图片.png")bg_label = Label(window, image=bg_png)bg_label.pack()# 添加显示框var = StringVar(value='公平 公正 公开')show_label1 = Label(window, textvariable=var, justify='left', anchor=CENTER, width=16,height=2, font='楷体 -40 bold', foreground='white', bg='#1C86EE')show_label1.place(anchor=tk.NW, x=130, y=90)# 添加点名按钮button_png = tk.PhotoImage(file='button.png')button = Button(window, text='点 名', compound='center', font='楷体 -30 bold',foreground='#9400D3', image=button_png,command=lambda: call_lucky_student(var))button.place(anchor=NW, x=235, y=200)# 显示窗口window.mainloop()
3.随机选择学生
random库是Python中用于实现随机功能的库,也是Python的标准库,不需要安装,导入即可使用。
本文用random从学生名单中随机选择一个姓名,结合time模块设置延时,实现点名按钮的业务逻辑函数。
def call_lucky_student(var):"""点名"""global is_runif is_run:returnis_run = Truestart = time.time()choice_student(var, start)def choice_student(var, start):global is_runshow_member = random.choice(get_students_name())name = show_member[0]for zi in show_member[1:]:name += ' ' + zivar.set(name)end = time.time()if is_run and end-start <= 5:window.after(30, choice_student, var, start)else:is_run = Falsereturn
random使用参考:Python random模块常用方法的使用
4.将代码打包成exe
pyinstaller库是用于将Python程序打包成exe可执行文件的库,pip install pyinstaller安装即可使用。
本文用pyinstaller将点名系统的代码打包成exe文件,这样系统可以发给老师使用,不懂编程也没关系。
使用说明和下载方式
使用说明:
1.下载本系统后,解压文件,将整个文件夹保存到电脑中(建议不要放在桌面)。
2.打开学生名单excel表格,将学生姓名和学号输入表格中,保存。(删除本文的虚拟名单)
3.找到student.exe ,右键创建一个桌面快捷方式。
4.在桌面双击打开点名系统,即可正常使用。
下载方式:
完整代码和打包好的学生点名系统可以用WX在下方点击二维码关注,然后在后台回复“点名系统”获取。
运行代码需要的背景图片,按钮图片,以及测试用的学生名单也可以一并获取。
以上就是本文的全部内容,如果你喜欢这个学生点名系统,欢迎点赞、评论和收藏。
相关阅读:
Python使用Tkinter实现滚动抽奖器
Python使用Tkinter实现转盘抽奖器
教师节到了,用Python做了个非常好用的学生点名系统相关推荐
- 教师节我用Python做了个学生点名系统送给老师当礼物,这回毕业稳了
今年教师节前夕,我特意用Python做了个学生点名系统,非常好用,送给各科老师.辅导员当节日礼物,老师们都喜滋滋,说平常逃课就原谅我了,我心想,这次毕业应该不是问题了~ 本文背景 根据我的调查,现在的 ...
- 教师节用python做个学生点名系统送老师,老师:真的谢谢你~
嗨害大家好鸭!我是小熊猫❤ 今年教师节和中秋一起过~ 我特意用Python做了个学生点名系统, 非常好用,送给各科老师.辅导员当节日礼物, 老师们都喜滋滋(是真的很喜欢) 说平常逃课就原谅我了,我心想 ...
- Python系列 | 基于Tkinter图形化界面实现课堂点名系统
课堂点名器实现的效果: exe程序已打包如下,欢迎大家下载使用!!! 链接:课堂点名系统 提取码: qx18 一.核心功能设计 课堂点名系统实现的思路大致为可以自定义设置班级学生姓名或者默认通过学号进 ...
- 循序渐进:用python做金融量化分析(五)MACD策略系统
在这一节,我们引入库import talib,因为这个库里有很多的技术指标,可以直接引用,不用自己再编指标函数,非常的方便,只要一个语句macd, macdsignal, macdhist = tal ...
- 循序渐进:用python做金融量化分析(四)双均线系统策略
上一节中讲了单均线系统最优参数的寻找,这一节我们开讲双均线系统,在编程设计上,双均线系统相对于单均线系统来说多了一个均线循环,在短期均线循环里面再嵌套一个长期均线循环,其它方面和单均线系统变化不大,由 ...
- python基于django的高校综合教务管理 学生选课系统
高校教务管理系统的主要使用者分为管理员和用户,实现功能包括管理员:首页.注册管理.教师管理.课程管理.选课安排.学生管理,用户:首页.个人资料.我的课程.个人成绩.校内信息,前台首页:首页.公开课.授 ...
- 用python做舆情分析系统_如何用Python做舆情时间序列可视化?
如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...
- 用python做一个舆情分析系统_如何用Python做舆情时间序列可视化?
如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...
- 如何用Python做Web开发?——Django环境配置
用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...
最新文章
- VC6.0使用中遇到的一些问题
- ArrayList和LinkedList的索引问题
- 【控制】《多智能体系统一致性与复杂网络同步控制》郭凌老师-第6章-Lurie 型动态网络的簇同步
- JAVA面试题(part2)--位运算符
- python银行系统模拟演练_python多线程实现代码(模拟银行服务操作流程)
- java todo error_Java全局异常处理(TODO)
- C++语言函数重载详解和示例
- redhat7.2 修改centos yum源
- [Swift]检查API可用性
- 大数据分析平台的安全如何保障
- 佛言:人有二十难(为)
- linux越狱时手机怎么进入dfu,通过软件恢复进入DFU刷机模式教程
- eclispe luna 安装subversive和svn connector插件
- 服务器虚拟cpu,服务器虚拟化 vcpu与内存配比
- 大会没看够?2021 Google 开发者大会总结看这里!
- excel筛选栏显示各项数量_excel筛选显示数量
- JS实现随机抽奖功能
- 点击输入框,标题上移
- html垂直线性渐变,CSS线性渐变 垂直和水平渐变linear-gradient
- ubuntu18连不上安卓手机的USB网络共享