python写点名器

最近需要做一个点名器,自己就用python写了一个简单的点名器!!

废话不多说。直接上代码:

(1)将excle表格里面的名字导到python中,存成list的形式,在建立一个空的set,方便去掉重复的姓名
workbook = xlrd.open_workbook("name.xls")  # 读取表格
Data_sheet = workbook.sheets()[0]  # 读取sheet1
name_list = Data_sheet.col_values(1)  # 读取第二列
data = set()  # 一个空set保存选过的同学
(2)使用的python自带的tkinter,以下是定义它的标签

root = tk.Tk()
root.title("点名册")
root.geometry('250x150')

global var
var = tk.StringVar()
on_strat = False

l = tk.Label(root, textvariable=var, font=('Arial', 35), width=15, height=2)
l.pack()
(3)定义点击button的函数


def start():
    try:
        rdata = random.choice(name_list)
        if on_strat==False:
            name_list.remove(rdata)
            #print(rdata)
            if rdata not in data:
                    var.set(rdata)
                    data.add(rdata)
        if len(name_list)==0:
            var.set("-----所有同学已经遍历完-------")
    except ValueError as e:
        var.set("-----所有同学已经遍历完-------")
(4)建立一个button

B = tk.Button(root, text="start", command=start)
B.pack()
(5)其实在这个实现点名册之后,还加了背景音乐,使得效果更好一点
pygame.init()
music = pygame.mixer.music.load('bg.mp3')
pygame.mixer.music.play(-1, 100)
screen = pygame.display.set_mode((800, 600))
源码如下:
import xlrd
import random
import tkinter as tk
import pygame
workbook = xlrd.open_workbook("name.xls")  # 读取表格
Data_sheet = workbook.sheets()[0]  # 读取sheet1
name_list = Data_sheet.col_values(1)  # 读取第二列
data = set()  # 一个空set保存选过的同学

root = tk.Tk()
root.title("点名册")
root.geometry('250x150')

global var
var = tk.StringVar()
on_strat = False

l = tk.Label(root, textvariable=var, font=('Arial', 35), width=15, height=2)
l.pack()

def start():
    try:
        rdata = random.choice(name_list)
        if on_strat==False:
            name_list.remove(rdata)
            #print(rdata)
            if rdata not in data:
                    var.set(rdata)
                    data.add(rdata)
        if len(name_list)==0:
            var.set("-----所有同学已经遍历完-------")
    except ValueError as e:
        var.set("-----所有同学已经遍历完-------")
B = tk.Button(root, text="start", command=start)
B.pack()

pygame.init()
music = pygame.mixer.music.load('bg.mp3')
pygame.mixer.music.play(-1, 100)
screen = pygame.display.set_mode((800, 600))

root.mainloop()

 

你可能感兴趣的:(IT,python,点名器,tkinter)