编写python代码实现简单抽奖器


Posted in Python onOctober 20, 2020

这篇文章主要为大家详细介绍了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代码实现简单抽奖器

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

Python 相关文章推荐
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
python3常用的数据清洗方法(小结)
Oct 31 Python
Python递归调用实现数字累加的代码
Feb 25 Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 Python
Python基于gevent实现高并发代码实例
May 15 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
Jul 28 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 Python
几款好用的python工具库(小结)
Oct 20 #Python
如何基于python实现年会抽奖工具
Oct 20 #Python
python使用re模块爬取豆瓣Top250电影
Oct 20 #Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
Oct 20 #Python
Python 制作查询商品历史价格的小工具
Oct 20 #Python
python实现扫雷游戏的示例
Oct 20 #Python
python3排序的实例方法
Oct 20 #Python
You might like
PHP生成静态页面详解
2006/11/19 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
PHP count()函数讲解
2019/02/03 PHP
tagName的使用,留一笔
2006/06/26 Javascript
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
2008/11/24 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
Promise扫盲贴
2019/06/24 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
python类的继承实例详解
2017/03/30 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
介绍一下XMLHttpRequest对象
2012/02/12 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
计算机专业毕业生的自我评价
2013/11/18 职场文书
读书活动实施方案
2014/03/10 职场文书
老公给老婆的保证书
2014/04/28 职场文书
电子工程求职信
2014/07/17 职场文书
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技