编写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 3.x 新特性及10大变化
Jun 12 Python
python3调用R的示例代码
Feb 23 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
感知器基础原理及python实现过程详解
Sep 30 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
使用python制作一个解压缩软件
Nov 13 Python
numpy ndarray 取出满足特定条件的某些行实例
Dec 05 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 Python
BeautifulSoup获取指定class样式的div的实现
Dec 07 Python
OpenCV-Python实现人脸美白算法的实例
Jun 11 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
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
php中如何执行linux命令详解
2018/11/06 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
ExtJS下grid的一些属性说明
2009/12/13 Javascript
jquery 常用操作方法
2010/01/28 Javascript
js 省地市级联选择
2010/02/07 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
Angular工具方法学习
2016/12/26 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
浅谈python连续赋值可能引发的错误
2018/11/10 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
Django如何实现防止XSS攻击
2020/10/13 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
幼儿园中秋节活动方案
2014/02/06 职场文书
村庄环境整治方案
2014/05/15 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书