python实现的简单抽奖系统实例

yipeiwu_com7年前Python基础

本文实例讲述了python实现的简单抽奖系统。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python
#coding=utf-8
from Tkinter import *
import time
import random
class App:
  def __init__(self,master):
    frame = Frame(master)
    frame.pack()
    v = StringVar()
    self.e = Entry(frame,textvariable=v,bd='5')
    v.set('')
    self.v = v
    self.e.pack(padx=5)
    self.button1 = Button(frame,text = 'start',fg='red',command=self.start_hi)
    self.button1.pack(side=LEFT)
    self.button2 = Button(frame,text='stop',fg = 'blue',command=self.say_stop)
    self.button2.pack(side=LEFT)
    self.root=master
    self.stop = 0
    #scrollbar = Scrollbar(frame, orient=VERTICAL)
    #self.b1 = Listbox(frame, yscrollcommand=scrollbar.set)
    #scrollbar.pack(side=RIGHT, fill=Y)
    #self.b1.pack(side=LEFT, fill=BOTH, expand=1)
  def list_star(self):
    star = []
    file = open('yaojiang.txt','r+')
    data = file.readlines()
    file.close()
    for n in data:
      l1 = n.split(':')
      a = l1[0] + ':'+ l1[1][:4] + 'xxxx' + l1[1][8:12]
      a = a.strip()
      star.append(a)
    return star
  def start_hi(self):
    self.stop = 0 
    #star = []
    #file = open('yaojiang.txt','r+')
    #data = file.readlines()
    #file.close()
    #for n in data:
      #l1 = n.split(':')
      #a = l1[0] + ':'+ l1[1][:4] + 'xxxx' + l1[1][8:12]
      #a = a.strip()
      #star.append(a)
    star = self.list_star()
    self.update_clock(star)
  def say_stop(self):
    self.stop = 1
    #b = self.start()
  def update_clock(self,star):
    b = random.choice(star)
    self.v.set(b)
    if self.stop == 1:
      return
      self.root.after(50, self.update_clock,star)
root = Tk()
app = App(root)
root.mainloop()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python实现多线程的方式及多条命令并发执行

一、概念介绍 Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个th...

python输入多行字符串的方法总结

Python中输入多行字符串: 方法一:使用三引号 >>> str1 = '''Le vent se lève, il faut tenter de vivre....

python非递归全排列实现方法

刚刚开始学习python,当前看到了函数这一节。结合数组操作,写了个非递归的全排列生成。原理是插入法,也就是在一个有n个元素的已有排列中,后加入的元素,依次在前,中,后的每一个位置插入,...

python基于递归解决背包问题详解

递归是个好东西,任何具有递归性质的问题通过函数递归调用会变得很简单。一个很复杂的问题,几行代码就能搞定。   最简单的递归问题:现有重量为weight的包,有若干重量分别为W1...

Python中无限元素列表的实现方法

本文实例讲述了Python怎么实现无限元素列表的方法,具体实现可使用Yield来完成。 下面所述的2段实例代码通过Python Yield 生成器实现了简单的无限元素列表。 1.递增无限...