用python写微信红包脚本_python 实现模拟微信发红包

本文介绍了如何使用Python编写微信红包脚本,包括两种不同的算法:一种基于随机和剩余平均值,另一种采用锯木头思想控制红包额度。两种算法都确保了公平性和随机性,并保证每个参与者至少能获得0.01元。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

红包逻辑制定:

分配:红包里的金额怎么算?为什么出现各个红包金额相差很大?

答:随机,额度在0.01和(剩余平均值x2)之间。

例如:发100块钱,总共10个红包,那么平均值是10块钱一个,那么发出来的红包的额度在0.01元~20元之间波动。

当前面3个红包总共被领了40块钱时,剩下60块钱,总共7个红包,那么这7个红包的额度在:0.01~(60/7*2)=17.14之间。

注意:这里的算法是每被抢一个后,剩下的会再次执行上面的这样的算法

这样算下去,会超过最开始的全部金额,因此到了最后面如果不够这么算,那么会采取如下算法:保证剩余用户能拿到最低1分钱即可。

如果前面的人手气不好,那么后面的余额越多,红包额度也就越多,因此实际概率一样的。

import random

def luck_money(total, num):

tmp=numfor i in range(num-1): #循环num-1次,根据[0.01 ,total/num*2]的规则生成9个红包

hb= round(random.uniform(0.01, total/num*2), 2)

total= total -hbif total <= num*0.01: # 为了保证每个人最少能拿到0.01元,则做一个判断,如果余额不足的情况,上一个红包的金额=余额-(剩余的人数*0.01),余下所有人拿到的都是0.01total= total +hb

num-= 1hb= total - num*0.01

yield round(hb, 2)for j in range(i+1, tmp): #接着上面的循环,yield 0.01

break#循环完后结束上次循环yieldhb

num-= 1

else: #最后一个红包如果余额还有,所有余额给分给最后一个

total= round(total, 2)yieldtotal

g= luc

一个帮助你在微信红包时战无不胜的Android应用。自动检测并且拆开红包,速度超乎你的想象。 支持中英文。前往Release下载最新版本。已下载用户可直接在设置里面更新。 特性 监视选项任意组合,满足多样化的使用需求[?] 提供了系统通知/聊天列表/聊天页面三档选项,无论是想要谨慎不被察觉,还是想要高效志在必得,这个插件如你所愿。 不仅快人一步,红包识别更加智能 多种特征标识,聊天时不再重复点击红包。智能过滤红包关键字[?],避免落入“专属红包”、“抢到翻倍”的陷阱。还可以设置延时抢红包和自动回复感谢语[?]。 紧跟微信更新 第一时间适配最新版本微信,应用内即可一键更新。 轻量、安全、值得信赖 安装包仅1M,无需ROOT,下载即用。代码公开透明,活跃的社区讨论,数万用户下载,值得你的信赖。 使用方法 打开『微信红包』应用,开启插件。 做你想做的事。 坐等红包进账。 实现原理 请见技术文档,注意文档描述的是dev分支(已弃用)的具体实现,而不是stable分支。若有疑问,请在ISSUES中提出。 更新日志 完整的更新日志请见CHANGELOG。 版权及免责声明 本项目源自小米去年秋季发布会时演示的MIUI 7抢红包测试代码。 插件可能会在一定程度上改变微信的交互方式。使用本项目中包含的代码及其生成物时,使用者自行承担随之而来的各种风险,包括但不限于“禁用红包功能”、“微信封号”。 本项目使用MIT许可证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值