编写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系列之数据处理编程实例(一)
May 22 Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 Python
go语言计算两个时间的时间差方法
Mar 13 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python 自动化表单提交实例代码
Jun 08 Python
Python学生信息管理系统修改版
Mar 13 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
利用python计算时间差(返回天数)
Sep 07 Python
python中的 zip函数详解及用法举例
Feb 16 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
python 使用三引号时容易犯的小错误
Oct 21 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
简单易用的计数器(数据库)
2006/10/09 PHP
关于尾递归的使用详解
2013/05/02 PHP
PHP微商城开源代码实例
2019/03/27 PHP
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue项目中使用fetch的实现方法
2019/04/25 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
微信小程序 image组件遇到的问题
2019/05/28 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
pygame实现弹力球及其变速效果
2017/07/03 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
五一家具促销方案
2014/01/10 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
交通违章检讨书
2014/09/21 职场文书
2014年科技工作总结
2014/11/26 职场文书
研究生导师推荐信
2015/03/25 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技