培训之后的项目小作业 ----摇奖系统

来源:互联网 发布:网络杠杠的是什么意思 编辑:程序博客网 时间:2024/04/29 22:29

这个双休日通过老师在培训班上所教的对Tk的一些应用而编写的一个摇奖系统。

摇奖数据库文件如下:

                     张铁林:18725537332
                     饭锅里:18722223333
                     郭西纲:12345678900
                     刘德华:23145367890
                     丁宁:12345678912
                     流畅:23456778891

程序思路如下:

                                 1.将储存在文件当中的内容读出来,对其电话做下处理

                                  (1).例如:12345678912 >>>123xxxx8912

                                 2.将处理的结果储存在一个列表当中。

                                 3.随机抽取列表当中的一个元素作为中奖对象。

                                 4.利用TK图形显示我们需要相应的组件来放我们先前处理的数据。

                                 5.这样我们就需要两个按钮(start,stop),和一个显示框。

                                 6.当我们按下start按钮时,连接了我们抽取随机中奖观众的函数

                                    按下stop按钮时,连接停止函数得到中奖观众。

代码如下:

#!/usr/bin/env python#coding=utf-8from Tkinter import *import timeimport randomclass App:def __init__(self,master):frame = Frame(master)frame.pack()v = StringVar()self.e = Entry(frame,textvariable=v,bd='5')v.set('')self.v = vself.e.pack(padx=5)#创建显示框self.button1 = Button(frame,text = 'start',fg='red',command=self.start_hi)self.button1.pack(side=LEFT)#创建start按钮self.button2 = Button(frame,text='stop',fg = 'blue',command=self.say_stop)self.button2.pack(side=LEFT)#创建stop按钮        self.root=masterself.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]#用xxxx代替中间4位号码a = a.strip()star.append(a)#创建列表return stardef 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()#star列表self.update_clock(star)#调用update_clock函数def say_stop(self):self.stop = 1#b = self.start()def update_clock(self,star):b = random.choice(star)#抽取随机数self.v.set(b)#显示bif self.stop == 1:#判断停止按钮return       self.root.after(50, self.update_clock,star)#每50毫秒循环显示一次root = Tk()app = App(root)root.mainloop()





原创粉丝点击