Python版微信红包分配算法


Posted in Python onMay 04, 2015

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

#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 相关文章推荐
python使用邻接矩阵构造图代码示例
Nov 10 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
Python3使用正则表达式爬取内涵段子示例
Apr 22 Python
利用pandas进行大文件计数处理的方法
Jul 25 Python
对TensorFlow的assign赋值用法详解
Jul 30 Python
pycharm 配置远程解释器的方法
Oct 28 Python
将python图片转为二进制文本的实例
Jan 24 Python
基于python二叉树的构造和打印例子
Aug 09 Python
python实现代码统计器
Sep 19 Python
详解python statistics模块及函数用法
Oct 27 Python
python ubplot使用方法解析
Jan 10 Python
pytest实现多进程与多线程运行超好用的插件
Jul 15 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
May 04 #Python
用Python编写生成树状结构的文件目录的脚本的教程
May 04 #Python
使用Python脚本将Bing的每日图片作为桌面的教程
May 04 #Python
详解Python的Django框架中的通用视图
May 04 #Python
在Python中使用matplotlib模块绘制数据图的示例
May 04 #Python
使用Python生成url短链接的方法
May 04 #Python
python实现bucket排序算法实例分析
May 04 #Python
You might like
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
jQuery 渐变下拉菜单
2009/12/15 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
60行js代码实现俄罗斯方块
2015/03/31 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
python cs架构实现简单文件传输
2020/03/20 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
Python函数生成器原理及使用详解
2020/03/12 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
网络安全类面试题
2015/08/01 面试题
传播学专业毕业生自荐信
2013/11/04 职场文书
合同专员岗位职责
2013/12/18 职场文书
市场营销求职信范文
2014/02/21 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
网络妈妈观后感
2015/06/08 职场文书
python基础入门之字典和集合
2021/06/13 Python
用JS写一个发布订阅模式
2021/11/07 Javascript
浅析python中特殊文件和特殊函数
2022/02/24 Python