编写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使用PIL缩放网络图片并保存的方法
Apr 24 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
使用Python对MySQL数据操作
Apr 06 Python
Python之循环结构
Jan 15 Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 Python
pandas 空数据处理方法详解
Nov 02 Python
Python中的引用和拷贝实例解析
Nov 14 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
Python __slots__的使用方法
Nov 15 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 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
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
理解JS绑定事件
2016/01/19 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
python简单实现AES加密和解密
2019/03/28 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
python 基于opencv去除图片阴影
2021/01/26 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
销售经理工作职责
2014/02/03 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
高中生学习计划书
2014/09/15 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书