python中的红包分配问题

尝试编写红包游戏。基本思路:输入红包总金额total和红包个数num;通过调用redEnv()函数,对剩余红包金额remain进行分配;最后一个红包金额是前面红包分配之后剩余的金额,最后,将分配的红包金额全部输出显示出来

使用random生成随机数,然后循环红包个数,每次生成随机金额,最后进行尾差处理

import random
def redEnv(total, num):
    remain = total
    result = []
    for i in range(num - 1):
        money = random.uniform(0.01, remain - (num - i - 1) * 0.01)
        remain -= money
        result.append(round(money, 2))
    result.append(round(remain, 2))
    return result
total = float(input("请输入红包总金额:"))
num = int(input("请输入红包个数:"))
red_list = redEnv(total, num)
print("分配结果如下:")
for i in range(num):
    print("第{}个红包金额为:{}".format(i+1, red_list[i]))

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^