Examples are as follows:
#! /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
The above is the detailed content of Detailed explanation of the example code for implementing the random generation algorithm of red envelopes in Python. For more information, please follow other related articles on the PHP Chinese website!