python模拟微信红包

import random
money = int(input("输入红包金额:"))
ren = int(input("输入红包数量:"))
pop = []  # 用来存放每次获取的金额
r = 0  # 循环条件
if money == 0 and ren == 0:
    print("不能为0")
else:
    while r < ren-1:
        tem = money/(ren-r)  # 就是总金额除以红包数量减去r(如果循环条件不成立每次都会加一)
        k = 2*tem  # 定义最大的金额,防止红包到后面越来越小不公平
        get = round(random.uniform(0.01,k),2)   # 取0.01到我们定义的最大金额中间的值   round:取小数点后2位
        money = money - get  # 总金额减去我们每次循环获取的值
        r = r + 1  # 以上步骤为一次循环,结束后循环条件+1
        pop.append(get)  # 将我们每次获取的金额添加到列表中
    pop.append(round(money,2))  # 因为我们的循环获取的值会少一个,而这步骤会将剩下的金额添加到列表中

    for i in range(len(pop)):
        print(f"第{i+1}个人获取的金额为{pop[i]}")
    print(f"手气最好的是第{pop.index(max(pop))+1}人,金额为{max(pop)}元")

你可能感兴趣的:(python,微信,java)