#! /usr/bin/python# -*- 編碼: utf-8 -*-import randomclass CDispatch: def __init__(self,sum,count): self.sum = sum self.count=count #print 'init here sum =' ,總和,',計數='"/> #! /usr/bin/python# -*- 編碼: utf-8 -*-import randomclass CDispatch: def __init__(self,sum,count): self.sum = sum self.count=count #print 'init here sum =' ,總和,',計數='">

首頁  >  文章  >  後端開發  >  詳解python實作紅包隨機產生演算法的實例程式碼

詳解python實作紅包隨機產生演算法的實例程式碼

高洛峰
高洛峰原創
2017-03-24 17:12:262946瀏覽

實例如下:

#! /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

以上是詳解python實作紅包隨機產生演算法的實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn