编写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中pygame模块用法实例
Oct 09 Python
用python读写excel的方法
Nov 18 Python
举例讲解Python中is和id的用法
Apr 03 Python
Python的Django框架中自定义模版标签的示例
Jul 20 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
Jun 30 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
Python面向对象之类的定义与继承用法示例
Jan 14 Python
python中for循环变量作用域及用法详解
Nov 05 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 Python
python 制作网站筛选工具(附源码)
Jan 21 Python
详解Python常用的魔法方法
Jun 03 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字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
python实现无证书加密解密实例
2014/10/27 Python
Apache如何部署django项目
2017/05/21 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
Django中URL的参数传递的实现
2019/08/04 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
Python实现自动访问网页的例子
2020/02/21 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
一套PHP的笔试题
2013/05/31 面试题
幼儿园秋游感想
2014/03/12 职场文书
商超业务员岗位职责
2014/03/12 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript
不想升级Win11?教你彻底锁定老版Windows系统的方法(附下载地址)
2022/09/23 数码科技