编写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 条件判断的缩写方法
Sep 06 Python
Python 随机生成中文验证码的实例代码
Mar 20 Python
Python lambda函数基本用法实例分析
Mar 16 Python
Python中collections模块的基本使用教程
Dec 07 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
如何使用Python进行OCR识别图片中的文字
Apr 01 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
Django用户认证系统 User对象解析
Aug 02 Python
python Elasticsearch索引建立和数据的上传详解
Aug 04 Python
基于python读取.mat文件并取出信息
Dec 16 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
使用BeautifulSoup4解析XML的方法小结
Dec 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测试程序运行时间的类
2012/02/05 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
Python获取网页上图片下载地址的方法
2015/03/11 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
python中np是做什么的
2020/07/21 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
初三物理教学反思
2014/01/21 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
高中同学会致辞
2015/08/01 职场文书
如何在C++中调用Python
2021/05/21 Python