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使用Supervisor来管理进程的方法
May 28 Python
使用Python脚本和ADB命令实现卸载App
Feb 10 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
Feb 02 Python
Python实现通讯录功能
Feb 22 Python
Python3实现的简单工资管理系统示例
Mar 12 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
Python编写打字训练小程序
Sep 26 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
在ipython notebook中使用argparse方式
Apr 20 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 Python
2021年pycharm的最新安装教程及基本使用图文详解
Apr 03 Python
详解运行Python的神器Jupyter Notebook
Jun 03 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入门学习笔记之一
2010/10/12 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
php模拟post提交数据的方法
2015/02/12 PHP
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
python实现斐波那契递归函数的方法
2014/09/08 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
Python3监控疫情的完整代码
2020/02/20 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
淘宝中秋节活动方案
2014/01/31 职场文书
中学生获奖感言
2014/02/04 职场文书
北京奥运会口号
2014/06/21 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
讲座新闻稿
2015/07/18 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
聊聊Python String型列表求最值的问题
2022/01/18 Python
css3新特性的应用示例分析
2022/03/16 HTML / CSS