尝试编写红包游戏。基本思路:输入红包总金额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]))
不知道你这个问题是否已经解决, 如果还没有解决的话: