集团年会那个抽奖程序崩溃实在令人印象太深刻了,所以自己弄了一个简单版本的。。。
data =[]#从文件或数据库读取抽奖号保存为一个list allwindata=[] while 1: windata=[] iNum= raw_input("please input the numbers: ")#抽几个人 #method= raw_input("please input the method: ")#做所谓奇偶数抽奖,没意义 if iNum.isdigit()==0: iNum= raw_input("please input the numbers: ") if int(iNum)>=len(data): windata=data allwindata.extend(windata) data=[] else: for i in range(0,int(iNum)): #ii=random.choice(data) #windata.append(ii) #allwindata.append(ii) #data.remove(ii) ##方法二,用.pop,性能在20000以上时明显更好 x = random.randint(0,len(data)-1) ii= data[x] windata.append(ii) allwindata.append(ii) data.pop(x) print windata#中奖号码,如果怕崩溃就更新到文件或者数据库。。。 print data#剩余的num,如果怕崩溃就更新到文件或者数据库。。。 print allwindata#所有已经中奖的号码,如果怕崩溃就更新到文件或者数据库。。。