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

yipeiwu_com5年前Python基础

实例如下:

</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 实现红包随机生成算法的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈Python 递归算法指归

浅谈Python 递归算法指归

1. 递归概述 递归( recursion)是一种编程技巧,某些情况下,甚至是无可替代的技巧。递归可以大幅简化代码,看起来非常简洁,但递归设计却非常抽象,不容易掌握。通常,我们都是自上...

详解python之多进程和进程池(Processing库)

详解python之多进程和进程池(Processing库)

环境:win7+python2.7 一直想学习多进程或多线程,但之前只是单纯看一点基础知识还有简单的介绍,无法理解怎么去应用,直到前段时间看了github的一个爬虫项目涉及到多进程,多线...

对python3.4 字符串转16进制的实例详解

如下所示: def str_to_hex(s):     s = s.split(' ')     send_buf =...

以一段代码为实例快速入门Python2.7

Python由Guido Van Rossum发明于90年代初期,是目前最流行的编程语言之一,因其语法的清晰简洁我爱上了Python,其代码基本上可以 说是可执行的伪代码。 非常欢迎反馈...

跟老齐学Python之从if开始语句的征程

跟老齐学Python之从if开始语句的征程

一般编程的教材,都是要把所有的变量类型讲完,然后才讲语句。这种讲法,其实不符合学习的特点。学习,就是要循序渐进的。在这点上,我可以很吹一通了,因为我做过教师,研究教育教学,算是有一点心得...