python 實現紅包隨機生成演算法
阿新 • • 發佈:2018-12-30
</pre><pre name="code" class="python">#! /usr/bin/python # -*- coding: utf-8 -*- import random class CDispatch: def __init__(self,sum,count): self.sum = sum self.count=count #print 'init here sum =',sum,',count =',count def __del__(self): pass #print 'run del the class' def getListInfo(self): listInfo=[] sumMoney = self.sum*100 for num in range(0,self.count): if(num == self.count -1): listInfo.append(float('%0.2f'%sumMoney)/100) break bigRand=sumMoney+1+num-self.count #print 'sumMoney=',sumMoney,'num=',num,'self.count=',self.count,'big=',bigRand try: a = random.randint(1,int(bigRand)) except: for i in range(0,num): print 'listInfo[%d]'%i,'=',listInfo[i] if num >0: print 'sumMoney=',sumMoney,'num=',num,'listInfo[num-1]=',listInfo[num-1],'self.count=',self.count,'big=',bigRand #print 'a=',a break sumMoney -=a listInfo.append(float(a)/100) return listInfo for i in range(0,100000): dispatch = CDispatch(1.05,5) listGet = dispatch.getListInfo() print listGet del dispatch