隔板法发红包

# import random
# def red_pocket(money,num):
# ret = random.sample(range(1,money),num-1)
# #random.sample 要在列表中取值,所以要range一下,range(1,money)1是1分,再随机抽取9个数
#
# ret.sort() # ***没有返回值***
# # 对抽取的数进行排列 [3016, 8109, 12859, 13762, 14179, 14329, 15012, 17230, 19200]
# #在列表中插入 0 和200, 等会做减法算每一个红包的大小用
# ret.insert(0,0)
# ret.append(money)
# # return ret [0, 2146, 2299, 2303, 5749, 8003, 8968, 14713, 17829, 19375, 20000]
# lst=[]
# for i in range(len(ret)-1):
# gap = (ret[i+1] - ret[i]) #算出每一段的差值,再除以100 转换成单位元
# lst.append(gap)
# return lst
# red_g = red_pocket(100,30)
# print(red_g)

# import random
# def make(mouny,num):
# d=random.sample(range(1,mouny),num-1)#随机生成数字准备插空
# d.sort()
# d.insert(0,0)
# d.append(mouny)
# lst=[]
# for i in range(len(d)-1):计算插完的列表
# gap=d[i+1]-d[i]
# lst.append(gap)
# return lst
# a=make(100,30)
# print(a)
隔板法可以很好地分割
这个方法的关键在于random.simple生成一个列表然后插入0和100然后得到31个数
后面减前面取他的30个间隔

转载于:https://www.cnblogs.com/huhuxixi/p/10279564.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值