python编写实现抽奖器


Posted in Python onSeptember 10, 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实现查找excel里某一列重复数据并且剔除后打印的方法
May 26 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
python实现超简单的视频对象提取功能
Jun 04 Python
python+PyQT实现系统桌面时钟
Jun 16 Python
Python简单I/O操作示例
Mar 18 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
pyinstaller参数介绍以及总结详解
Jul 12 Python
python处理excel绘制雷达图
Oct 18 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
python利用opencv实现颜色检测
Feb 23 Python
利用python Pandas实现批量拆分Excel与合并Excel
May 23 Python
Python字符串及文本模式方法详解
Sep 10 #Python
python raise的基本使用
Sep 10 #Python
Python常用数字处理基本操作汇总
Sep 10 #Python
Python通用唯一标识符uuid模块使用案例
Sep 10 #Python
Python编写单元测试代码实例
Sep 10 #Python
python super()函数的基本使用
Sep 10 #Python
Python如何实现机器人聊天
Sep 10 #Python
You might like
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
另一个javascript小测验(代码集合)
2011/07/27 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
Python struct.unpack
2008/09/06 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
快速查询Python文档方法分享
2017/12/27 Python
Python iter()函数用法实例分析
2018/03/17 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
PyQt5组件读取参数的实例
2019/06/25 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
拾金不昧的表扬信
2014/01/16 职场文书
优秀女职工事迹材料
2014/02/06 职场文书
《鸟的天堂》教学反思
2014/02/27 职场文书
个人委托书范本
2014/04/02 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python