简单发红包程序

# -*- coding: utf-8 -*-
# @Time    : 18-10-9 下午4:37
# @Author  : Felix Wang

import random


def give_red_packets(all_money, num):
    """
    :param all_money: 红包总金额
    :param num: 红包个数
    :return: 返回每个红包的金额
    """
    total = all_money
    while True:
        all_money = total
        moneys = []
        all_money = all_money * 100
        avg = all_money // num
        for i in range(num - 1):
            money = int(avg * random.randint(1, 200) / 100)
            moneys.append(int(money))
            all_money = all_money - int(money)
        moneys.append(all_money)
        if 0 < all_money < avg * 2:
            break
    return [m / 100 for m in moneys]


# 测试,随机发两百次,随机发的人数
for i in range(200):
    num = random.randint(10, 200)
    s = give_red_packets(100, num)
    print(len(s), num)
    print(s)
    print(sum(s))

 

转载于:https://www.cnblogs.com/felixwang2/p/9761379.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值