今年教师节前夕,我特意用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

2、搭建系统界面

tkinter是Python中GUI编程非常好用的库,而且是标准库,不需要安装,导入即可使用。

本文用tkinter搭建学生点名系统的界面,并在界面上实现点名按钮和显示点名结果。

if __name__ == '__main__':window = tk.Tk()window.geometry('600x400+400+180')window.title('\t 第一届LOL点名系统')# 添加背景图片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

4、将代码打包成exe

pyinstaller库是用于将Python程序打包成exe可执行文件的库,pip install pyinstaller安装即可使用。

本文用pyinstaller将点名系统的代码打包成exe文件,这样系统可以发给老师使用,不懂编程也没关系。

使用说明和下载方式

使用说明:

1.下载本系统后,解压文件,将整个文件夹保存到电脑中(建议不要放在桌面)。

2.打开学生名单excel表格,将学生姓名和学号输入表格中,保存。(删除本文的虚拟名单)

3.找到student.exe ,右键创建一个桌面快捷方式。

4.在桌面双击打开点名系统,即可正常使用。

下载方式:

完整代码和打包好的学生点名系统在下方点击二维码关注即可自取。

运行代码需要的背景图片,按钮图片,以及测试用的学生名单也可以一并获取。

以上就是本文的全部内容,如果你喜欢这个点名系统,欢迎点赞、评论和收藏。

推荐教程:Python实战100例

教师节我用Python做了个学生点名系统送给老师当礼物,这回毕业稳了相关推荐

  1. 教师节用python做个学生点名系统送老师,老师:真的谢谢你~

    嗨害大家好鸭!我是小熊猫❤ 今年教师节和中秋一起过~ 我特意用Python做了个学生点名系统, 非常好用,送给各科老师.辅导员当节日礼物, 老师们都喜滋滋(是真的很喜欢) 说平常逃课就原谅我了,我心想 ...

  2. 教师节到了,用Python做了个非常好用的学生点名系统

    教师节到了,用Python做了个非常好用的学生点名系统 教师节到了,祝伟大的老师们教师节快乐! 前言 我的亲人和朋友里有很多老师,根据我的调查,现在的学生大部分都很积极,会主动举手回答问题.但是,也会 ...

  3. python开发项目:学生选课系统

    程序要求: 1.创建北京.上海两所学校(分析:通过学校类实例化两个学校实例) 2.创建Linux.python.go三个课程,Linux\go在北京开,Linux在上海开(创建Linux.python ...

  4. 千万别让老板知道 | Python做个人脸识别考勤系统

    人脸识别考勤系统 实现思路如下: 下面讲解下核心代码 1. 读摄像头 2. 裁剪人脸 3. 识别面部68个关键点 4. 人脸向量化 5. 人脸对比 哈喽大家好,我是王某人. 现在好多公司都用人脸识别实 ...

  5. 【C语言优秀综合课程设计】学生点名系统的设计与实现(2021-07-09)

    文章目录 一.摘要 二.页面截图 三.源代码 源码打包下载 提示:以下是本篇文章正文内容,下面案例可供参考 一.摘要 在高校自动化办公系统逐步普及的今天,课堂点名系统已遍地而飞.这种方式不仅省钱.省事 ...

  6. 如何用Python做一个简易学生信息管理系统

    一.系统简介 实现一个学生信息的管理系统:主要功能有: 添加学生信息 删除学生信息 修改学生信息 查询学生信息 显示学生信息 退出当前系统 二.步骤分析 显示功能界面 用户输入功能序号 对不同序号的功 ...

  7. python做一个linux网卡,Linux系统Python可以选择不同网卡进行网络访问吗?

    是这样的,我有一台远程的Linux服务器(Debian系统),上面有两块网卡,同样的IP. 我现在需要选择第二块网卡,因为这块网卡连上了CMCC的专线,可以进行一些CMCC的业务操作.但是默认的使用的 ...

  8. 用Python做了个图片识别系统(附源码)

    来源丨码猴小明 项目介绍 本项目将使用python3去识别图片是否为色情图片,会使用到PIL这个图像处理库,并且编写算法来划分图像的皮肤区域 介绍一下PIL: PIL(Python Image Lib ...

  9. 明天就是七夕了,用Python做了个可能会被女朋友打死的礼物!

    明天就是七夕了,晓得你们有女票的或者正在追妹子的,肯定又在绞尽脑汁想买什么别出新裁的礼物,如果女生感觉你的礼物花心思了,那肯定是好感度倍增啊. 今天给各位分享一个用 Python 制作的成本一毛钱却诚 ...

最新文章

  1. oc45--多对象内存管理 优化
  2. 完全命令行.NET开发
  3. B-Trees【设计数据密集型应用】
  4. MySQL的恢复脚本
  5. linux命令总结之traceroute命令
  6. boost::gregorian模块实现计算今年的元旦直到下一个元旦的日子的测试程序
  7. bdbus_lxb下载
  8. systemd.conf翻译
  9. atm系统的用例模型_ATM银行系统用例图.doc
  10. mysql all和distinct_mysql distinct 使用实例(过滤多余的重复记录)
  11. vue 引入vue-resource给页面加点动态数据
  12. 数据可视化实战案例分享
  13. python微信支付_微信支付 python版
  14. 【设计模式】职责链模式,MySQL+Tomcat+JVM,看完还怕面试官
  15. 干货分享:app推广新人如何做好应用商店推广
  16. 小白新人Python哪些基础知识必学?
  17. 计算机桌面 文字大小,怎样调整电脑字体大小_怎样调整字体大小
  18. RBP as a streaming server(一)
  19. Mac环境下安装MongoDB数据库
  20. “失败”的北漂十年,我真的尽力了。。。

热门文章

  1. 如何防止亚马逊账号关联的一些建议值得卖家们收藏?
  2. 论OSPF中ASBR和ABR
  3. 达人评测 酷睿i5 12450h和锐龙r7 5700u选哪个好 i512450h和r75700u对比
  4. Quokka.js and Wallaby.js Crack
  5. 关于DS12C887 以外部RAM方式访问
  6. JavaScript常见问题及答案
  7. spring boot火车票售卖系统毕业设计代码211004
  8. 资讯类App主流框架(一)
  9. LeetCode--第25题K个一组翻转链表
  10. 简历模板,简历通用模板,程序员求职简历模板