python编写实现抽奖器

这篇文章主要为大家详细介绍了python编写实现抽奖器,文中代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

# coding=utf-8 import sys import os import openpyxl if sys.version_info[0] == 2:  import Tkinter  from Tkinter import * else:  import tkinter as Tkinter  from tkinter import * from tkinter import messagebox   import random data = [] going = True is_run = False   def getNameList():  path=os.getcwd()  wb=openpyxl.load_workbook(r'list.xlsx')  sheet=wb["Sheet1"]  macList = []  for i in range(2,sheet.max_row+1):   macList.append(sheet.cell(row=i,column=1).value)  return macList   def lottery_roll(var1, var2):  global going  if going:  show_member = random.choice(data)  var1.set(show_member)  window.after(50, lottery_roll, var1, var2)  else:  var2.set('还有{}个小幸运鬼哟~'.format(len(data)))  going = True  return   def lottery_start(var1, var2):  global is_run  if is_run:  messagebox.showwarning('提醒', '命运的齿轮正在疯狂转动哟!')  return  if len(data)==0:   messagebox.showwarning('提醒', '没有幸运儿了哟,快去抓几个吧!')   return  is_run = True  var2.set('命运的齿轮开始转动起来啦~')  lottery_roll(var1, var2)    def lottery_end():  global going, is_run, data  if is_run:  if len(data)==0:   messagebox.showwarning('提醒', '没有幸运儿了哟,快去抓几个吧!')   return  show_member = random.choice(data)  data.remove(show_member)  print(show_member)  var1.set(show_member)  going = False  is_run = False  else:  messagebox.showwarning('提醒', '命运的齿轮还没开动呢!')    if __name__ == '__main__':  data = getNameList()  window = Tkinter.Tk()  window.geometry('800x500+500+200')  window.title('谁是幸运儿?')     bg_label = Label(window, width=800, height=500, bg='#ECf5FF')  bg_label.place(anchor=NW, x=0, y=0)    var_title = StringVar(value='谁是幸运儿?')  show_label1_title = Label(window, textvariable=var_title, justify='left', anchor=CENTER, width=18, height=4, bg='#ECf5FF',    font='楷体 -40 bold', foreground='black')  show_label1_title.place(anchor=NW, x=200, y=0)    var1 = StringVar(value='<.<')  show_label1 = Label(window, textvariable=var1, justify='left', anchor=CENTER, width=7, height=2, bg='#BFEFFF',    font='楷体 -40 bold', foreground='black')  show_label1.place(anchor=NW, x=320, y=200)     var2 = StringVar(value='共有{}个幸运儿,请开始游戏'.format(len(data)))  show_label2 = Label(window, textvariable=var2, justify='left', anchor=CENTER, width=25, height=4, bg='#ECf5FF',    font='楷体 -25 bold', foreground='red')  show_label2.place(anchor=NW, x=240, y=320)    button1 = Button(window, text='开始', command=lambda: lottery_start(var1, var2), width=14, height=2, bg='#A8A8A8',    font='宋体 -18 bold')  button1.place(anchor=NW, x=210, y=400)    button2 = Button(window, text='结束', command=lambda: lottery_end(), width=14, height=2, bg='#A8A8A8',    font='宋体 -18 bold')  button2.place(anchor=NW, x=450, y=400)  window.mainloop()

截图:

python编写实现抽奖器

python编写实现抽奖器

python编写实现抽奖器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我。

上一篇:文本检测之PixelAnchor


下一篇:Anchor Boxes示例实战