分享一个微信群红包算法实例代码

零下一度
发布: 2017-05-27 14:46:19
原创
4192人浏览过

今天是最后一天上班,没什么事情,正好群里面的同学再讨论群红包的算法。

特写了个算法。大致思路是找发过的红包,寻找它的随机震动坡度。

下面来看看算法吧:

#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 < 1): 
return
if num == 1:
print "第%d个人拿到红包数为:%.2f" %(num, total)
return
i = 1
total_money = total
#rtotal = (total*100 - min*num*100)/100
while( i < num ):
max = total_money - min*(num- i)
k = int((num-i)/2)
if num -i <= 2:
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 300.01 10 20 30第1个人拿到红包数为:0.42, 余额为: 19.58第2个人拿到红包数为:0.12, 余额为: 19.46第3个人拿到红包数为:0.24, 余额为: 19.22第4个人拿到红包数为:1.10, 余额为: 18.12第5个人拿到红包数为:1.45, 余额为: 16.67第6个人拿到红包数为:0.21, 余额为: 16.46第7个人拿到红包数为:0.34, 余额为: 16.12第8个人拿到红包数为:0.16, 余额为: 15.96第9个人拿到红包数为:1.38, 余额为: 14.58第10个人拿到红包数为:0.86, 余额为: 13.72第11个人拿到红包数为:1.18, 余额为: 12.54第12个人拿到红包数为:0.93, 余额为: 11.61第13个人拿到红包数为:0.70, 余额为: 10.91第14个人拿到红包数为:0.60, 余额为: 10.31第15个人拿到红包数为:0.03, 余额为: 10.28第16个人拿到红包数为:0.61, 余额为: 9.67第17个人拿到红包数为:1.37, 余额为: 8.30第18个人拿到红包数为:0.67, 余额为: 7.63第19个人拿到红包数为:0.28, 余额为: 7.35第20个人拿到红包数为:0.96, 余额为: 6.39第21个人拿到红包数为:1.30, 余额为: 5.09第22个人拿到红包数为:1.08, 余额为: 4.01第23个人拿到红包数为:1.12, 余额为: 2.89第24个人拿到红包数为:0.75, 余额为: 2.14第25个人拿到红包数为:0.64, 余额为: 1.50第26个人拿到红包数为:0.37, 余额为: 1.13第27个人拿到红包数为:0.01, 余额为: 1.12第28个人拿到红包数为:0.26, 余额为: 0.86第29个人拿到红包数为:0.31, 余额为: 0.55第30个人拿到红包数为:0.55, 余额为: 0.00
python 2.py 0.01 10 20 20.01 10 20 2第1个人拿到红包数为:1.62, 余额为: 18.38第2个人拿到红包数为:18.38, 余额为: 0.00
python 2.py 0.01 10 20 30.01 10 20 3第1个人拿到红包数为:4.58, 余额为: 15.42第2个人拿到红包数为:11.22, 余额为: 4.20第3个人拿到红包数为:4.20, 余额为: 0.00
登录后复制

【相关推荐】

1. 分享一个Android实现微信自动抢红包的代码实例

微信 WeLM
微信 WeLM

WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型。

微信 WeLM 33
查看详情 微信 WeLM

2. 分享微信公众号开发刷卡支付的实例教程

3. 微信开发之微信支付

4. 小程序之红包接口开发实例代码

5. 分享微信公众号开发现金红包实例教程

以上就是分享一个微信群红包算法实例代码的详细内容,更多请关注php中文网其它相关文章!

相关标签:
微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号