教程"/>
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()
截图:
移动端设备除iPad Pro外,其它移动设备仅能阅读基础的文本文字。
建议使用PC或笔记本电脑,本站暂不支持微软IE/Edge浏览器,推荐使用Chrome或FireFox进行浏览,以开启左侧互动实验区来提升学习效率,推荐使用的分辨率为1920x1080或更高。
我们坚信最好的学习是参与其中这一理念,并致力成为中文互联网上体验更好的学练一体的IT技术学习交流平台。
您可加QQ群:575806994,一起学习交流技术,反馈网站使用中遇到问题。
内容、课程、广告等相关商务合作请扫描右侧二维码添加好友。
Copyright 2020 FreeAIHub
网站备案号:京ICP备19043805号
收藏本站
更多推荐
python抽奖教程
发布评论