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合并文本文件示例
Feb 07 Python
详解Python Socket网络编程
Jan 05 Python
Python的GUI框架PySide的安装配置教程
Feb 16 Python
分分钟入门python语言
Mar 20 Python
python判断设备是否联网的方法
Jun 29 Python
Python补齐字符串长度的实例
Nov 15 Python
基于django channel实现websocket的聊天室的方法示例
Apr 11 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
Django3.0 异步通信初体验(小结)
Dec 04 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
详解Django中异步任务之django-celery
Nov 05 Python
python高温预警数据获取实例
Jul 23 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
将二维数组转为一维数组的2种方法
2014/05/26 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
JavaScript订单操作小程序完整版
2017/06/23 Javascript
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
django2.0扩展用户字段示例
2019/02/13 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
Python的信号库Blinker用法详解
2020/12/31 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
酒店个人求职信范文
2014/01/25 职场文书
语文教学感言
2014/02/06 职场文书
未婚证明书模板
2014/10/08 职场文书
爱国教育主题班会
2015/08/14 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
JavaScript流程控制(分支)
2021/12/06 Javascript