如何运用python做出类似于微信发红包的效果,例如,输入总金额和红包个数,然后将输出的结果放在一个列表中,你可以给我它的代码吗
时间: 2024-05-05 22:20:24 浏览: 78
模拟微信发红包.py
5星 · 资源好评率100%
当然可以!以下是一个用Python实现微信红包功能的代码示例:
```
import random
def distribute_money(total_money, num_people):
remain_money = total_money
remain_people = num_people
result = []
for i in range(num_people - 1):
money = round(random.uniform(0.01, remain_money / remain_people * 2), 2)
result.append(money)
remain_money -= money
remain_people -= 1
result.append(round(remain_money, 2))
random.shuffle(result)
return result
if __name__ == '__main__':
total_money = float(input('请输入总金额:'))
num_people = int(input('请输入红包个数:'))
result = distribute_money(total_money, num_people)
print('结果如下:')
print(result)
```
这个代码先定义了一个函数 `distribute_money()`,接收输入的总金额和红包个数,并将结果放在一个列表中返回。接着使用了随机数分配红包金额,保证每个人有一定概率获得更多的红包,并使用 `random.shuffle()` 随机排序。最后在主函数中使用输入输出交互。请注意,由于Python处理小数存在精度误差,建议将小数保留两位。
阅读全文