拼手气发红包

# 注意每个人抢到的钱数的概率都是均等的
# 注意抢到的金额精确到分
import random

def func():
    money = input('请输入金额:')
    num = input('请输入红包个数:')
    # 将输入的金额扩大100倍,从中挑出红包个数减1的
    m = random.sample(range(1,int(money)*100),int(num)-1)
    # 从小到大排序
    m.sort()
    # 将0插入到索引为0的位置,即第一个位置
    m.insert(0,0)
    # 将总钱数乘100后添加到列表的最后一个位置
    m.append(int(money)*100)
    # 循环m的长度的次数。
    lis = []
    for i in range(len(m)-1):
        # m取索引+1的值减去当前索引的值,除以100
        result = (m[i+1]-m[i])/100
        print(result)  # 每个红包大小
        lis.append(result)
    print(sum(lis))  # 红包总大小
func()

# 这个思想就是分段,先随机出想要发的红包数减1,然后进行排序,将0添加到列表中,再将总钱数添加到列表中
# 此时等于对总钱数进行了分段处理。

 



 

posted @ 2019-05-13 18:24  Lowell  阅读(193)  评论(0编辑  收藏  举报