目录
一: 平均红包实现
使用round保留两位小数,让红包大小相差不大,可以拿总钱数/总人数得到人均钱数,然后在人均钱数的一定范围内生成随机数
import random
def generate_equal_red_envelope(num_envelopes, total_amount):
# 平均金额
avg_amount = total_amount / num_envelopes
# 创建一个列表来存储每个人的红包金额
red_envelopes = [0] * num_envelopes
for i in range(num_envelopes - 1):
# 生成一个平均金额上下浮动的随机数作为红包金额
amount = round(avg_amount + (random.uniform(-0.1, 0.1) * avg_amount), 2)
red_envelopes[i] = amount
total_amount -= amount
#剩余金额分配给最后一个人
red_envelopes[num_envelopes - 1] = round(total_amount,2)
return red_envelopes
num_envelopes = int(input("请输入红包个数:"))
total_amount = float(input("请输入红包总金额&#x