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中的递归函数
Apr 27 Python
在Python中操作字典之setdefault()方法的使用
May 21 Python
python统计日志ip访问数的方法
Jul 06 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
python 中的int()函数怎么用
Oct 17 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 Python
python实现串口自动触发工作的示例
Jul 02 Python
python celery分布式任务队列的使用详解
Jul 08 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
Apr 20 Python
python怎么提高计算速度
Jun 11 Python
Django中Aggregation聚合的基本使用方法
Jul 09 Python
UI自动化定位常用实现方法代码示例
Oct 27 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
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
php截取视频指定帧为图片
2016/05/16 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
python删除文件示例分享
2014/01/28 Python
跟老齐学Python之编写类之二方法
2014/10/11 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
高中毕业自我鉴定
2013/12/19 职场文书
大学系主任推荐信范文
2013/12/24 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
推荐信格式要求
2014/05/09 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
JS的深浅复制详细
2021/10/16 Javascript
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS