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 greenlet实现原理和使用示例
Sep 24 Python
Python os模块介绍
Nov 30 Python
python实现文件路径和url相互转换的方法
Jul 06 Python
Python列表切片用法示例
Apr 19 Python
Python获取系统所有进程PID及进程名称的方法示例
May 24 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
python属于解释型语言么
Jun 15 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 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中实现crontab代码分享
2015/03/26 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
php接口技术实例详解
2016/12/07 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
JavaScript arguments 多参传值函数
2010/10/24 Javascript
JSONP之我见
2015/03/24 Javascript
js比较日期大小的方法
2015/05/12 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
深入了解python列表(LIST)
2020/06/08 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
给老婆的搞笑检讨书
2014/01/12 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
关于使用Redisson订阅数问题
2022/01/18 Redis