# -*- 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))