请用Python编写一个函数,模拟微信红包金额的分配。其中红包总金额money和人数num由键盘输入。
时间: 2024-11-03 07:15:33 浏览: 3
Python版微信红包分配算法
5星 · 资源好评率100%
当然可以,下面是一个简单的Python函数,它模拟了微信红包金额的随机分配给指定人数的情况:
```python
import random
def distribute_red_packet(money, num):
# 确保总金额大于等于人数
if money < num:
print("红包金额不足以平均分配给每个人,请增加红包金额.")
return
# 计算每个人能分到的平均金额
average_money = money // num
remainder = money % num # 剩余的零头
# 创建一个列表,用于存储每个人的红包金额
red_packet = [average_money] * (num - remainder)
# 如果有剩余的零头,随机分配给前几个幸运者
for i in range(remainder):
person = random.randint(0, num - 1) # 随机选择一个人
red_packet[person] += 1
# 打印每个红包的分配结果
for i, amount in enumerate(red_packet, start=1):
print(f"第{i}个人得到{amount}元")
# 获取用户输入
money = int(input("请输入红包总金额: "))
num = int(input("请输入参与人数: "))
# 调用函数
distribute_red_packet(money, num)
```
当你运行这个程序并按照提示输入金额和人数,它会根据算法计算并打印出每个参与者分得的红包金额。
阅读全文