编写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 18 Python
Python多层嵌套list的递归处理方法(推荐)
Jun 08 Python
12步入门Python中的decorator装饰器使用方法
Jun 20 Python
Python初学时购物车程序练习实例(推荐)
Aug 08 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 Python
PyTorch中反卷积的用法详解
Dec 30 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
Python操作Jira库常用方法解析
Apr 10 Python
Python用K-means聚类算法进行客户分群的实现
Aug 23 Python
python pip如何手动安装二进制包
Sep 30 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 模拟POST|GET操作实现代码
2010/07/20 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
js 操作select相关方法函数
2009/12/06 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
Python判断字符串与大小写转换
2015/06/08 Python
python 计算文件的md5值实例
2017/01/13 Python
python中类的属性和方法介绍
2018/11/27 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python实现视频读取和转化图片
2019/12/10 Python
python如何进入交互模式
2020/07/06 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
打印机墨盒:123Inkjets
2017/02/16 全球购物
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
节水标语大全
2014/06/11 职场文书
师范生求职信
2014/06/14 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
五年级作文之想象作文
2019/10/30 职场文书