编写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 urllib模块urlopen()与urlretrieve()详解
Nov 01 Python
python将字符串转换成数组的方法
Apr 29 Python
浅谈python内置变量-reversed(seq)
Jun 21 Python
解决python "No module named pip" 的问题
Oct 13 Python
详解python调用cmd命令三种方法
Jul 08 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
python2 对excel表格操作完整示例
Feb 23 Python
Python pip install如何修改默认下载路径
Apr 29 Python
python学习笔记之多进程
Aug 06 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
详解Python内置模块Collections
Mar 22 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
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
Javascript this指针
2009/07/30 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
2018/11/19 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
python中字典dict常用操作方法实例总结
2015/04/04 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
公司联欢晚会主持词
2014/03/22 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
2016春节慰问信范文
2015/03/25 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
python numpy中setdiff1d的用法说明
2021/04/22 Python
Elasticsearch 基本查询和组合查询
2022/04/19 Python