红包1
import random
def redpacket(cash,person):
lst=[]
sum1=0
cash = cash * 100
while cash>0 and person >1:
money= random.randint(1,cash)
person-=1
cash-=money
lst.append(money/100)
sum1 += money/100
else:
lst.append(cash/100)
sum1 += cash/100
random.shuffle(lst)
return lst,sum1
print(redpacket(100,6))
红包2
import random
def redpacket(cash,person):
cash=cash*100
ret = random.sample(range(1,cash),person-1)
ret.sort()
ret.insert(0,0)
ret.append(cash)
for i in range(len(ret)-1):
yield (ret[i+1]-ret[i])/100
res=redpacket(100,5)
for money in res:
print(money)
红包3
import random
def redpacket(num,money):
sum = 0
lst=[]
for i in range(num):
cash=random.randint(1,money)
sum+=cash
lst.append(cash)
for i in range(len(lst)):
x=round((lst[i]/sum)*100,2)
yield x
result = redpacket(5,100)
for i in result:
print(i)