1. 程式人生 > >python寫點名器

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()