编写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中的__future__模块
Apr 27 Python
Vue的el-scrollbar实现自定义滚动
May 29 Python
Python设计模式之建造者模式实例详解
Jan 17 Python
Python设计模式之代理模式实例详解
Jan 19 Python
numpy中的ndarray方法和属性详解
May 27 Python
python pandas模块基础学习详解
Jul 03 Python
python程序中的线程操作 concurrent模块使用详解
Sep 23 Python
Python pickle模块实现对象序列化
Nov 22 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
Python使用Selenium实现淘宝抢单的流程分析
Jun 23 Python
python爬虫用mongodb的理由
Jul 28 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 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异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
JavaScript的document对象和window对象详解
2010/12/30 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python发展简史 Python来历
2019/05/14 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python顺序执行多个py文件的方法
2019/06/29 Python
用Python配平化学方程式的方法
2019/07/20 Python
详解python tcp编程
2020/08/24 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
如何在pycharm中安装第三方包
2020/10/27 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
教师自荐信范文
2013/12/09 职场文书
安全生产实施方案
2014/02/23 职场文书
科学发展观活动总结
2014/08/28 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
统计工作个人总结
2015/03/03 职场文书
销售员岗位职责范本
2015/04/11 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
详解Python 3.10 中的新功能和变化
2021/04/28 Python
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python