python编写实现抽奖器
本文实例为大家分享了python编写实现抽奖器的具体代码,供大家参考,具体内容如下
#coding=utf-8 importsys importos importopenpyxl ifsys.version_info[0]==2: importTkinter fromTkinterimport* else: importtkinterasTkinter fromtkinterimport* fromtkinterimportmessagebox importrandom data=[] going=True is_run=False defgetNameList(): path=os.getcwd() wb=openpyxl.load_workbook(r'list.xlsx') sheet=wb["Sheet1"] macList=[] foriinrange(2,sheet.max_row+1): macList.append(sheet.cell(row=i,column=1).value) returnmacList deflottery_roll(var1,var2): globalgoing ifgoing: 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 deflottery_start(var1,var2): globalis_run ifis_run: messagebox.showwarning('提醒','命运的齿轮正在疯狂转动哟!') return iflen(data)==0: messagebox.showwarning('提醒','没有幸运儿了哟,快去抓几个吧!') return is_run=True var2.set('命运的齿轮开始转动起来啦~') lottery_roll(var1,var2) deflottery_end(): globalgoing,is_run,data ifis_run: iflen(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='楷体-40bold',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='楷体-40bold',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='楷体-25bold',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='宋体-18bold') button1.place(anchor=NW,x=210,y=400) button2=Button(window,text='结束',command=lambda:lottery_end(),width=14,height=2,bg='#A8A8A8', font='宋体-18bold') button2.place(anchor=NW,x=450,y=400) window.mainloop()
截图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。