教师节我用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.active
    rows, cols = table.max_row, table.max_column
    name_col = 0
    for col in range(cols):
        if table.cell(1, col + 1).value == '姓名':
            name_col = col
            break
    students_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):
    """点名"""
# Python学习交流群 279199867 源码及素材群内自取
    global is_run
    if is_run:
        return
    is_run = True
    start = time.time()
    choice_student(var, start)


def choice_student(var, start):
    global is_run
    show_member = random.choice(get_students_name())
    name = show_member[0]
    for zi in show_member[1:]:
        name += ' ' + zi
    var.set(name)
    end = time.time()
    if is_run and end-start <= 5:
        window.after(30, choice_student, var, start)
    else:
        is_run = False
        return

 

4、将代码打包成exe

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

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

使用说明和下载方式

使用说明:

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

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

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

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

下载方式:

完整代码和打包好的学生点名系统在上方代码内

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

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

推荐教程:Python实战100例

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教师节我用Python做了个学生点名系统送给老师当礼物,这回毕业稳了 - Python技术站

(0)
上一篇 2023年4月2日 下午5:00
下一篇 2023年4月2日 下午5:00

相关文章

  • 利用Python实现批量压缩文件

    利用Python实现压缩一个文件夹 二、知识点 文件读写 基础语法 字符串处理 循环遍历 文件压缩 三、代码解析 导入系统包 import platform import os import zipfile # 我还给大家准备了这些资料:Python视频教程、100本Python电子书、基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题、Pytho…

    Python开发 2023年4月2日
    00
  • 用Python做一个小说下载器,从获取数据到编写GUI界面

    对于广大书虫而言,没有小说看是最痛苦的,你身边有这样的人吗? 今天咱们分享一个小说下载器代码,打包成exe后,发给你的小伙伴也能直接使用… 思路流程 什么是爬虫? 按照一定的规则, 去采集互联网上面数据 爬虫可以做什么? 采集数据: 定制化采集数据 自动化脚本:自动点赞/评论/刷票/商品抢购脚本/自动发送弹幕 爬虫基本实现思路? 一、数据来源分析 明确需求:…

    Python开发 2023年3月31日
    00
  • 如何用Python将普通视频变成动漫视频

    最近几个月,毒教材被曝光引发争议,那些编写度教材的人着实可恶。咱程序员也没有手绘插画能力,但咱可以借助强大的深度学习模型将视频转动漫。所以今天的目标是让任何具有python语言基本能力的程序员,实现短视频转动漫效果。 效果展示 一、思路流程 读取视频帧 将每一帧图像转为动漫帧 将转换后的动漫帧转为视频 难点在于如何将图像转为动漫效果。这里我们使用基于深度学习…

    Python开发 2023年4月2日
    00
  • 值得收藏的python语法总结

    python2早已在 2020 年停止维护,随着Python版本的不断更新迭代,很多旧的语法在可读性与效率上都已经有更好的替代了。当然,大部分的重要特性,例如装饰器、生成器、async等,相信大家都已经了然于心,本文小编就对一些用的稍微少一些、日常看到的代码中不太常见,但是能用得上的语法做一个简单的总结,供大家参考,如果大家有什么不同的见解,还望各位大佬们多…

    Python开发 2023年4月2日
    00
  • 重温Python基础——if语句

    哈喽兄弟们,本节咱们来复习一下Python基础入门中的if语句。 编程中经常需要检查一系列条件,并据此决定采取什么措施。在python中,if语句能检测你的程序的当前状态,并据此采取什么措施。 if语句功能 可以作为条件测试检查是否相等,检查是不相等数值比较,检查多个条件等!下面来一些简单的示例: a=10 b=11 c=21 if a==b: print(…

    Python开发 2023年4月2日
    00
  • 程序员最浪漫的表白方式,将情书写在她的照片里,Python简直太厉害啦~

    这不光棍节快到了,表弟准备写一封情书给他的女神,想在光棍节之前脱单。 为了提高成功率,于是跑来找我给他参谋参谋,本来我是不想理他的,不过谁让他是我表弟呢(请我洗jio),于是教给他程序员的终极浪漫绝招,先假装给女神拍照,然后再把情书写到她的照片上打印出来送给她,嘿嘿~ 实现步骤 想要实现把情书写在像素中,那么我们就需要用到pillow这个神器。 众所周知,图…

    Python开发 2023年4月2日
    00
  • 花了两天从几十万行代码里总结出的22个Python万用公式,非常有用

    哈喽兄弟们 在大家的日常python程序的编写过程中,都会有自己解决某个问题的解决办法,或者是在程序的调试过程中,用来帮助调试的程序公式。 小编通过几十万行代码的总结处理,总结出了22个python万用公式,可以帮助大家解决在日常的python编程中遇到的大多数问题,一起来看看吧。 1、一次性进行多个数值的输入 对于数值的输入问题,是很多笔试题目中经常遇到的…

    Python开发 2023年4月2日
    00
  • 聊天尬住了?教你用Python一键获取斗图表情包,从此摇身变海王

    很多兄弟在聊天上没有下太多的功夫,导致自己聊天的时候很容易尬住,然后就不知道聊啥了,这时候合适表情包分分钟就能救场,但是一看自己收藏的表情包,好家伙,两只手都数得过来。 所以今天来给兄弟们分享一下爬取表情包的代码,再也不用尬聊了! 给大家看看我朋友的尬聊场面     本次目标 网站:发表情 网不好 ,没加载出来,表弟又在当老六,看不该看的抢我网速!!! 使用…

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部