本文实例为大家分享了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编写实现抽奖器相关推荐

  1. python抽奖代码_python编写实现抽奖器代码示例

    本篇文章小编给大家分享一下python编写实现抽奖器代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. # coding=utf-8 import ...

  2. python七夕快乐_python编写简单抽奖系统

    python编写简单抽奖系统 #!/usr/bin/env python #coding=utf-8 from Tkinter import * import time import random c ...

  3. python高级语法装饰器_Python高级编程——装饰器Decorator超详细讲解上

    Python高级编程--装饰器Decorator超详细讲解(上篇) 送你小心心记得关注我哦!! 进入正文 全文摘要 装饰器decorator,是python语言的重要特性,我们平时都会遇到,无论是面向 ...

  4. python核心装饰_Python核心编程 | 装饰器

    装饰器是程序开发的基础知识,用好装饰器,在程序开发中能够提高效率 它可以在不需要修改每个函数内部代码的情况下,为多个函数添加附加功能,如权限验证,log日志等 涉及点: 1.先梳理一下 >> ...

  5. python的网页解析器_python 之网页解析器

    一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...

  6. python自带网页解析器_python 之网页解析器

    一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...

  7. python什么是装饰器_python学习之装饰器是什么?

    学完python函数,接下来我们跟着猿人学python一起来看看什么是装饰器. 大家应该多多少少在其它地方有看过或是听过"装饰器"这个词.装饰器,顾名思义,就是用来装饰的,它装饰的 ...

  8. python抽奖程序_Python编写抽奖式随机提问程序

    本文主要思路:使用tkinter编写界面,使用3个Label组件和多线程技术实现学生名单的滚动显示. import tkinter import tkinter.messagebox import r ...

  9. python数独解题器_Python编写的超帅数独可视化解题器

    数独相信大家都玩过,它被称为"聪明人的游戏",在很多人眼里: 会玩数独=高智商 为什么?因为数独能够培养观察力,提高反应力:数独的练习能够锻炼手眼脑的协调性.提高手脑并用的能力,锻 ...

最新文章

  1. 7、Java Swing JTextArea:文本域组件。 JScrollPane:滚动窗口
  2. 基于fiddler的网络爬虫校园网自动登陆系统
  3. 神经网络和深度学习各类概念名词解析
  4. build 之前执行task_Android Gradle新增buildtypes以及编译前执行自定义task
  5. jfinal文件上传
  6. Thrift 教程 开发 笔记 原理 资料 使用 范例 示例 应用
  7. 精典教程-推荐-2018-12-08(笔记)
  8. 2021-2025年中国超声波管道监测系统行业市场供需与战略研究报告
  9. 如何遍历或枚举JavaScript对象?
  10. python 学习笔记 (核心)
  11. Git删除本地/本地远程/远程服务器分支
  12. SQL递归查询(with cte as)
  13. 手机摄像头+Matlab完成图像的自动识别
  14. 解决Macbook互联网不能共享 因为它是受802.1X保户问题
  15. 使用Criteria查询笔记
  16. 下雨天,走一段路,是走淋雨少还是跑
  17. 每日一狗 · 惠比特犬
  18. 各编程语言摆地摊,我去逛了逛...
  19. 贪心算法解决单源最短路径问题
  20. 学生HTML个人网页作业作品 (华为商城 HTML+CSS)

热门文章

  1. 信号量(Semaphore)、闭锁(Latch)、栅栏(Barrier)
  2. C Primer Plus(6) 中文版 第9章 函数 9.1 复习函数
  3. 为什么单片机管脚设计成低电平才有效
  4. Excel实现线性回归分析——高尔顿数据集、四重奏数据集
  5. 图说职场贴士:护航职场的八力
  6. mysql一条语句是如何被执行的——带你了解mysql语句执行内部顺序
  7. Mockplus的组件(弹出菜单)的简单使用方法。
  8. 九连环 C语言递归代码
  9. python语言中的单行注释语句_Python入门基础系列(五)——单行和多行注释
  10. 区块链-拜占庭将军问题介绍