|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import random as r
- def red_packet(total: float, person_num: int):
- """
- 模拟抢红包
- 参数
- -----
- total: float
- 红包总金额
- person_num: int
- 总人数
- 返回值
- -----
- list
- 每人抢到的金额总数
- """
- # 处理非法情况
- if person_num <= 0:
- return []
- a, b = total, person_num
- total *= 100
- res = []
- for _ in range(person_num - 1):
- f = r.randint(1, total // person_num * 3)
- res.append(round(f / 100, 2))
- person_num -= 1
- total -= f
- if total < 0.01:
- return red_packet(a, b)
- res.append(round(total / 100, 2))
- return res
- if __name__ == '__main__':
- print(red_packet(8.88, 10))
- print(red_packet(150, 20))
复制代码 |
评分
-
查看全部评分
|