编写python代码实现简单抽奖器
作者:静就是空 发布时间:2023-04-07 12:32:48
标签: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()
截图:
来源:https://www.cnblogs.com/ypha/p/13796190.html
0
投稿
猜你喜欢
- Notepad++是一款不错的编辑器,很轻巧,我很喜欢它。再换个主题,加个代码高亮,看上去就更专业了。如果你是Mac用户,应该听说或使用过T
- 如下所示:两个函数:Basemap.drawparallels ##纬度 Basemap.drawmeridia
- 本文实例讲述了Yii2中SqlDataProvider用法。分享给大家供大家参考,具体如下:第一种方法:$totalCount = Yii:
- 1.SQL Server对于SQL Server 2000来说,它提供了两个全新的函数(IDENT_CURRENT,SCOPE_IDENTI
- 因为工作的原因,开发过一个拆分字符串的SQL函数,现在把它贴出来,与大家共勉学习。该函数如下: &
- 以下的文章主要介绍的是MySQL 查询缓存的实际应用代码以及查看MySQL 查询缓存的大小 ,碎片整理,清除缓存以及监视MySQL 查询缓存
- 前言读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都
- <script> Array.prototype.swap = function(i, j) { var temp = this
- 大家都知道对于一个页面来说,最基本的结构呢就是<html> <head> <!-- 头部信息内容区域
- 前提:安装xhtml2pdf https://pypi.python.org/pypi/xhtml2pdf/下载字体:微软雅黑;待转换的文件
- 防止用户通过后退按钮重复提交表单 <% response.Buffer=true response.Expires=0 respons
- 文章先介绍了关于俄罗斯方块游戏的几个术语。边框——由10*20个空格组成,方块就落在这里面。盒子——组成方块的其中小方块,是组成方块的基本单
- 本文实例讲述了python用10行代码实现对 * 的检测功能。分享给大家供大家参考。具体如下:原理:将图片转换为YCbCr模式,在图片中寻
- 对于outerHTML这个DOM属性,在IE/Opera/google Chorme等浏览器中都是可以使用的,但唯独Firefox是不支持的
- MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由
- 本文实例讲述了PHP5.6读写excel表格文件操作。分享给大家供大家参考,具体如下:测试环境:php5.6.24.这块没啥兼容问题。需要更
- 引言昨天把系分的项目又加了一点逻辑判断,比如已经下单的菜品不能减少,不能重复下单,应该先下单再支付等…弄完购物车的逻辑之后,发现一直没有管备
- 批量修改: EXEC sp_MSforeachtable 'exec sp_changeob
- 不论是企业网站、个人博客,或者购物网站、游戏网站,我们都希望能吸引访问者并且给他们留下愉快的访问体验。可用性是用户体验的一种度量,它可以用访
- 前言近期在刷新生产环境数据库的时候,需要更新表中的字段,如果对每条数据结果都执行一次update语句,占用的数据库资源就会很多,而且速度慢。