Python实现高校上课随机点名系统V1版

在读大学时,很多老师在课前或课后都会进行点名,有时在课中也会抽某些同学回答问题。一般是老师拿出一个花名册,然后按顺序点到或随机抽一些人名进行点名。
  
今天我们用Python来实现一个简单的点名系统,之后有时间再慢慢调优这个程序。你也可以把这个程序改成公司开会或聚会的随机点名系统。
  


  
  

一、自动点名程序效果展示

  
我们先来看看随机点名小程序最终的实现效果。

自动点名系统

接下来我们来详细介绍如何用Python制作随机点名程序。
  
  

二、加载库

  
首先加载实现本文功能需要的库。
  

import tkinter as tk
from pandas import read_excel
from random import randint
import os
from PIL import Image
from PIL import ImageTk
from win32com.client import Dispatch

  
  

三、设置文件路径并加载数据

  
Python中有可以自动播报语音的库,这样就可以免去我们一个一个念名字的麻烦啦。
  

#控制播放语音
speaker = Dispatch("SAPI.SpVoice")
#设置文件存放路径
os.chdir(r"F:\微信公众号\Python\46_随机点名系统")

#读入数据
data = read_excel(r'学生名单.xls')
df1 = list(data['姓名'])
df2 = list(data['性别'])

  
注意:os.chdir中的文件路径要改成你存放学生名单的路径。
  
  

四、定义一个随机筛选名字并语音播报的函数

  
定义一个可以反复调用的随机筛选名字并语音播报的函数。
  

def roll_call():
    if len(df1)>0:
        index_ = randint(0, len(df1) - 1)
        name = df1.pop(index_)
        sex = df2.pop(index_)
        t.insert('insert', f'{name}  {sex}\n')   # 插入到tkinter界面
        speaker.Speak(name)
    else:
        speaker.Speak('点名结束')

  
  

五、定义窗口并展示点名系统

  
最后我们定义一个展示窗口,在窗口中生成一些按钮和名字展示模块,当点击按钮时实现自动点名播报。
  

win = tk.Tk()
win.title('欢迎进入点名程序')
win.iconbitmap("pikaqiu2.ico")
win.geometry('900x900')

# Entry单行文本
L = tk.Label(win, bg='lemonchiffon', text = "随机点名小程序", font=("KaiTi", 26), width=55, height=3) # 关键:设置为背景图片
L.place(x=0, y=0)

#设置随机点名按钮,退出系统按钮
b1 = tk.Button(win, bg='lightblue', text="随机点名", font=("KaiTi", 16), width=20, height=2, command=roll_call)
b1.place(x=250, y=200)
b2 = tk.Button(win, bg='lightblue', text="退出系统", font=("KaiTi", 16), width=20, height=2, command=win.quit)
b2.place(x=550, y=200)

# Entry 单行文本
L = tk.Label(win, text="点到的学生名单如下", font=("KaiTi", 18), width=60, height=1)
L.place(x=90, y=315)

# 设置多行文本框  宽 高  文本框中字体  选中文字时文字的颜色
t = tk.Text(win, width=60, height=100, font=("KaiTi", 24), selectforeground='black')  #显示文本
t.place(x=90, y=350)

win.mainloop()

  
至此,自动点名系统介绍完毕。如需全量代码和数据,可在公众号中回复“自动点名系统”即可免费获取。

  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

猜你喜欢

转载自blog.csdn.net/qq_32532663/article/details/109808468