Python模拟微信发红包

Python模拟微信发红包

from decimal import Decimal
# 提供了随机方法
import random
print('$$$$$$weichat模拟微信抢红包$$$$')
total =input('请输入要装入红包的总金额(元):')
num =input('请输入红包的个数(个):')
min =0.01 # 每个人最少能收到 0.01 元
# 创建红包列表
money_list = []
# 转换红包金额为十进制 方便后期计算
total = Decimal(total)
# 转换红包个数为十进制 方便后期计算
num = Decimal(num)
# 转换最小红包数为十进制 方便后期计算
min = Decimal(str(min))
# 判断红包金额是否 大于每个 红包个数*每个人最少获得的0.01
if total > num * min:
    # 根据红包个数进行循环 重1开始 所以随机出来的会少1个红包
  for i in range(1,int(num)):
      # 根据循环到的红包个数 判断随机安全上限 不至于红包没人最少0.01
      safe_total = (total-(num-i) *min)/(num-i)
# 随机出 获取红包金额
      temp_min = min *100  # 随机的最小值
      temp_max =int(safe_total *100)# 随机的最大值
      money = temp_min/100
if temp_min > temp_maxelse (Decimal(random.randint(temp_min, temp_max)))/100
        # 重置总金额 减去随机出的金额
        total -= money
# 添加随机出的金额到 红包列表
        money_list.append(money)
#保存最后一个元素到红包数组 不足红包数量
    money_list.append(total)
# 随机打乱列表顺序
    random.shuffle(money_list)
for xin range(len(money_list)):# 输出结果
        print('第'+str(x+1)+'个红包:'+str(money_list[x])+'元')

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dazzlecure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值