python写点名器

4 篇文章 0 订阅
1 篇文章 0 订阅

最近需要做一个点名器,自己就用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()

 

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值