python 抽奖器_python编写实现抽奖器
本文实例为大家分享了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编写实现抽奖器代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. # coding=utf-8 import ...
- python七夕快乐_python编写简单抽奖系统
python编写简单抽奖系统 #!/usr/bin/env python #coding=utf-8 from Tkinter import * import time import random c ...
- python高级语法装饰器_Python高级编程——装饰器Decorator超详细讲解上
Python高级编程--装饰器Decorator超详细讲解(上篇) 送你小心心记得关注我哦!! 进入正文 全文摘要 装饰器decorator,是python语言的重要特性,我们平时都会遇到,无论是面向 ...
- python核心装饰_Python核心编程 | 装饰器
装饰器是程序开发的基础知识,用好装饰器,在程序开发中能够提高效率 它可以在不需要修改每个函数内部代码的情况下,为多个函数添加附加功能,如权限验证,log日志等 涉及点: 1.先梳理一下 >> ...
- python的网页解析器_python 之网页解析器
一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...
- python自带网页解析器_python 之网页解析器
一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...
- python什么是装饰器_python学习之装饰器是什么?
学完python函数,接下来我们跟着猿人学python一起来看看什么是装饰器. 大家应该多多少少在其它地方有看过或是听过"装饰器"这个词.装饰器,顾名思义,就是用来装饰的,它装饰的 ...
- python抽奖程序_Python编写抽奖式随机提问程序
本文主要思路:使用tkinter编写界面,使用3个Label组件和多线程技术实现学生名单的滚动显示. import tkinter import tkinter.messagebox import r ...
- python数独解题器_Python编写的超帅数独可视化解题器
数独相信大家都玩过,它被称为"聪明人的游戏",在很多人眼里: 会玩数独=高智商 为什么?因为数独能够培养观察力,提高反应力:数独的练习能够锻炼手眼脑的协调性.提高手脑并用的能力,锻 ...
最新文章
- 7、Java Swing JTextArea:文本域组件。 JScrollPane:滚动窗口
- 基于fiddler的网络爬虫校园网自动登陆系统
- 神经网络和深度学习各类概念名词解析
- build 之前执行task_Android Gradle新增buildtypes以及编译前执行自定义task
- jfinal文件上传
- Thrift 教程 开发 笔记 原理 资料 使用 范例 示例 应用
- 精典教程-推荐-2018-12-08(笔记)
- 2021-2025年中国超声波管道监测系统行业市场供需与战略研究报告
- 如何遍历或枚举JavaScript对象?
- python 学习笔记 (核心)
- Git删除本地/本地远程/远程服务器分支
- SQL递归查询(with cte as)
- 手机摄像头+Matlab完成图像的自动识别
- 解决Macbook互联网不能共享 因为它是受802.1X保户问题
- 使用Criteria查询笔记
- 下雨天,走一段路,是走淋雨少还是跑
- 每日一狗 · 惠比特犬
- 各编程语言摆地摊,我去逛了逛...
- 贪心算法解决单源最短路径问题
- 学生HTML个人网页作业作品 (华为商城 HTML+CSS)
热门文章
- 信号量(Semaphore)、闭锁(Latch)、栅栏(Barrier)
- C Primer Plus(6) 中文版 第9章 函数 9.1 复习函数
- 为什么单片机管脚设计成低电平才有效
- Excel实现线性回归分析——高尔顿数据集、四重奏数据集
- 图说职场贴士:护航职场的八力
- mysql一条语句是如何被执行的——带你了解mysql语句执行内部顺序
- Mockplus的组件(弹出菜单)的简单使用方法。
- 九连环 C语言递归代码
- python语言中的单行注释语句_Python入门基础系列(五)——单行和多行注释
- 区块链-拜占庭将军问题介绍