假設紅包金額爲money,數量是num,而且紅包金額money>=num*0.01dom
原理以下,從1~money*100的數的集合中,隨機抽取num-1個數,而後對這些數進行排序,在排序後的集合先後分別插入0和money*100,組成新的集合spa
用新的集合,(後一個數-前一個數)/100獲得紅包的大小code
而後使用紅包的時候,從num個紅包集合中隨機拿一個,既是隨機紅包了blog
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)]