python随机生成红包
时间: 2024-01-04 13:20:46 浏览: 73
python 实现红包随机生成算法的简单实例
以下是一个用Python随机生成红包的例子:
```python
import random
def generate_red_envelope(num, total):
# 生成num个随机数,存入随机数列表
random_list = [random.randint(1, 10**2) for _ in range(num)]
# 将n个随机数相加,得到总和pretotal
pre_total = sum(random_list)
# 用红包金额除以随机数总和,得到平均数
average = total / pre_total
# 用随机数列表中的前num-1个随机数分别乘以平均数,得到随机红包金额
red_envelope_list = [round(random_num * average, 2) for random_num in random_list[:-1]]
# 最后剩下的金额就是第num个红包的金额
last_red_envelope = round(total - sum(red_envelope_list), 2)
# 处理数据过小的问题,保证最小的金额为0.01元
if last_red_envelope < 0.01:
last_red_envelope = 0.01
# 返回随机红包金额列表和最后一个红包金额
return red_envelope_list, last_red_envelope
# 示例调用
num = 5 # 红包份数
total = 100 # 红包总金额
red_envelope_list, last_red_envelope = generate_red_envelope(num, total)
print("随机红包金额列表:", red_envelope_list)
print("最后一个红包金额:", last_red_envelope)
```
阅读全文