python寫點名器
阿新 • • 發佈:2019-02-19
最近需要做一個點名器,自己就用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()