发红包

写一个函数实现发红包的功能:

参数1:红包总金额:精度为2位小数

参数2:红包个数(默认输入为正整数,不用校验)

要求红包大小实现随机分配,且最后每个红包金额相加要和总金额一致

import random


def pack(total, num):
    samp = random.sample(range(1, int(total * 100)), num-1)
    samp.sort()
    print(samp)
    samp.insert(0,0)
    samp.append(total * 100)
    print(samp)
    sum = 0
    for i in range(len(samp)-1):
        value = (samp[i+1] - samp[i])/100
        sum += value
        yield value,total - sum


res = pack(15.12, 7)
for i in res:
    print("抢到红包金额:%.2f,当前剩余金额:%.2f" % (i[0],i[1]))
View Code

 

posted @ 2020-11-15 12:36  repacse  阅读(66)  评论(1)    收藏  举报