python 生成随机红包,,假设红包金额为mon


假设红包金额为money,数量是num,并且红包金额money>=num*0.01

原理如下,从1~money*100的数的集合中,随机抽取num-1个数,然后对这些数进行排序,在排序后的集合前后分别插入0和money*100,组成新的集合

用新的集合,(后一个数-前一个数)/100得到红包的大小

然后使用红包的时候,从num个红包集合中随机拿一个,既是随机红包了

def redbags(money, num=10):    import random    choice = random.sample(range(1, money * 100), num - 1)    choice.extend([0,money*100])    choice.sort()    return [(choice[i + 1] - choice[i]) / 100 for i in range(num)]

python 生成随机红包

评论关闭