Python版微信红包分配算法

 更新时间:2015年05月04日 16:58:59   投稿:hebedich  
微信红包告诉你,学好数学,真的可以多抢红包!!下面就和大家分享一下抢红包的秘籍,简单概括就是:让朋友先上!

红包分配算法代码实现发给大家,祝红包大丰收!

#coding=gbk
import random
import sys

#print random.randint(0, 99)

#print "====", random.uniform(0, 0.99)

def calRandomValue(min, max, total, num):
print min, max, total, num
total = float(total)
num = int(num)
min = 0.01
if(num return
if num == 1:
print "第%d个人拿到红包数为:%.2f" %(num, total)
return

i = 1
total_money = total

#rtotal = (total*100 - min*num*100)/100
while( i max = total_money - min*(num- i)
k = int((num-i)/2)
if num -i k = num -i
max = max/k
monney = random.randint(int(min*100), int(max*100))
monney = float(monney)/100
total_money = total_money - monney

print "第%d个人拿到红包数为:%.2f, 余额为: %.2f" %(i, monney, total_money)
i += 1

print "第%d个人拿到红包数为:%.2f, 余额为: %.2f" %(i, total_money, 0.0)

if __name__ == "__main__":
min = sys.argv[1]
max = sys.argv[2]
total = sys.argv[3]
num = sys.argv[4]
calRandomValue(min, max, total, num)

python 2.py 0.01 10 20 30
0.01 10 20 30
第1个人拿到红包数为:1.34, 余额为: 18.66
第2个人拿到红包数为:1.06, 余额为: 17.60
第3个人拿到红包数为:1.08, 余额为: 16.52
第4个人拿到红包数为:0.98, 余额为: 15.54
第5个人拿到红包数为:0.88, 余额为: 14.66
第6个人拿到红包数为:0.48, 余额为: 14.18
第7个人拿到红包数为:0.26, 余额为: 13.92
第8个人拿到红包数为:0.90, 余额为: 13.02
第9个人拿到红包数为:0.12, 余额为: 12.90
第10个人拿到红包数为:0.41, 余额为: 12.49
第11个人拿到红包数为:0.43, 余额为: 12.06
第12个人拿到红包数为:0.63, 余额为: 11.43
第13个人拿到红包数为:0.36, 余额为: 11.07
第14个人拿到红包数为:0.25, 余额为: 10.82
第15个人拿到红包数为:1.38, 余额为: 9.44
第16个人拿到红包数为:0.17, 余额为: 9.27
第17个人拿到红包数为:0.79, 余额为: 8.48
第18个人拿到红包数为:0.52, 余额为: 7.96
第19个人拿到红包数为:0.44, 余额为: 7.52
第20个人拿到红包数为:1.15, 余额为: 6.37
第21个人拿到红包数为:0.13, 余额为: 6.24
第22个人拿到红包数为:0.76, 余额为: 5.48
第23个人拿到红包数为:1.32, 余额为: 4.16
第24个人拿到红包数为:0.80, 余额为: 3.36
第25个人拿到红包数为:0.16, 余额为: 3.20
第26个人拿到红包数为:0.27, 余额为: 2.93
第27个人拿到红包数为:1.82, 余额为: 1.11
第28个人拿到红包数为:0.45, 余额为: 0.66
第29个人拿到红包数为:0.27, 余额为: 0.39
第30个人拿到红包数为:0.39, 余额为: 0.00

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • Python使用Pycrypto库进行RSA加密的方法详解

    Python使用Pycrypto库进行RSA加密的方法详解

    RSA加密算法是一种强大的公钥加密算法,安全性很高,这里我们来看一下Python使用Pycrypto库进行RSA加密的方法详解,需要的朋友可以参考下
    2016-06-06
  • django 连接数据库出现1045错误的解决方式

    django 连接数据库出现1045错误的解决方式

    这篇文章主要介绍了django 连接数据库出现1045错误的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python动态规划之零钱兑换问题详解

    Python动态规划之零钱兑换问题详解

    这篇文章主要介绍了Python动态规划之零钱兑换问题详解,这次我们就按照套路模板,再来剖析一道经典动规题目零钱兑换,计算并返回可以凑成总金额所需的 最少的硬币个数 如果没有任何一种硬币组合能组成总金额,返回-1,需要的朋友可以参考下
    2023-11-11
  • python os模块介绍

    python os模块介绍

    这篇文章主要介绍了python os模块介绍,
    2021-12-12
  • Python连接Hadoop数据中遇到的各种坑(汇总)

    Python连接Hadoop数据中遇到的各种坑(汇总)

    这篇文章主要介绍了Python连接Hadoop数据中遇到的各种坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python破解excel进入密码的过程详解

    Python破解excel进入密码的过程详解

    这篇文章主要为大家介绍了如何利用Python破解excel进入密码,文中的示例代码讲解详细,对我们学习Python有一定帮助,感兴趣的可以动手试一试
    2022-03-03
  • Python基于checksum计算文件是否相同的方法

    Python基于checksum计算文件是否相同的方法

    这篇文章主要介绍了Python基于checksum计算文件是否相同的方法,涉及Python针对二进制文件的读取与判定技巧,需要的朋友可以参考下
    2015-07-07
  • django框架中ajax的使用及避开CSRF 验证的方式详解

    django框架中ajax的使用及避开CSRF 验证的方式详解

    这篇文章主要介绍了django框架中ajax的使用及避开CSRF 验证的方式,结合实例形式分析了Django框架ajax后台交互与排除验证csrf相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • python内置模块collections详解

    python内置模块collections详解

    这篇文章主要介绍了python内置模块collections详解,collections是Python内建的一个集合模块,提供了许多有用的集合类,python提供了很多非常好用的基本类型,比如不可变类型tuple,我们可以轻松地用它来表示一个二元向量,需要的朋友可以参考下
    2023-09-09
  • 在 Python 中使用变量创建文件名的方法

    在 Python 中使用变量创建文件名的方法

    这篇文章主要介绍了在 Python 中使用变量创建文件名,格式化的字符串文字使我们能够通过在字符串前面加上 f 来在字符串中包含表达式和变量,本文给大家详细讲解,需要的朋友可以参考下
    2023-03-03

最新评论