def sendRedPacket(money,num):
sum_money = 0
ret = []
money *= 100
while sum_money != money:
sum_money = 0
ret.clear()
l = random.sample(range(1,money),num - 2)
l.sort()
ret.append(l[0])
ret.append(money - l[len(l) - 1])
for i in range(1,len(l)) :
ret.append(l[i] - l[i - 1])
for i in ret:
sum_money += i
for i in range(0,len(ret)):
ret[i] = ret[i]/100
print(ret)
#改用生成器
def sendRedPacket(money,num):
sum_money = 0
ret = []
money *= 100
while sum_money != money:
sum_money = 0
ret.clear()
l = random.sample(range(1,money),num - 1)#生成点数
l.sort()
l.insert(0,0)
l.append(money)
for i in range(1,len(l)) :
ret.append(l[i] - l[i - 1])
print(ret,len(ret),len(l))
for i in ret:
sum_money += i
for i in range(0,len(ret)):
ret[i] = ret[i]/100
yield ret[i]
ret = sendRedPacket(200,10)
print(type(ret))
for i in ret:
print(i)