编写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中map、any、all函数用法分析
Apr 21 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
Python Collatz序列实现过程解析
Oct 12 Python
Python 日志logging模块用法简单示例
Oct 18 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
python-numpy-指数分布实例详解
Dec 07 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
Python魔术方法专题
Jun 19 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
python pyhs2 的安装操作
Apr 07 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提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
js中生成map对象的方法
2014/01/09 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Numpy的简单用法小结
2019/08/28 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
装潢设计专业推荐信模板
2013/11/26 职场文书
图书馆标语
2014/06/19 职场文书
动物科学专业求职信
2014/07/27 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
二手房购房意向书
2015/05/09 职场文书
青年志愿者活动感想
2015/08/07 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫