python 实现红包随机生成算法的简单实例

840次阅读  |  发布于5年以前

实例如下:


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

以上这篇python 实现红包随机生成算法的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8