初学python,实现简单抢红包

初学python,实现简单抢红包

上班听着同事在抢红包,就想写一个。
我的代码是算法有点问题,最后个红包总是最大,求大佬指点。

#!/usr/bin/env python
#-*- coding utf-8 -*-
# author:luoyejingchen

import random
import math

print("---发红包的男生最帅,发红包的女生最漂亮---")
psum1 = float(input("请输入您要送出的总金额:"))
psum = round(psum1,2)
if psum != psum1:
    print("已您抹去\"分\"以下的金额,您要送出的总金额是"+psum)
while True:
    pnum = int(input("请输入您要送出的红包数:"))
    if pnum <= psum*100:
        break
    else:
        print("好像不够分呢,请重新输入。")
pnum1 = pnum                                  #余下人数
for i in range(1,pnum):
    vmax = int(round(psum*200/pnum1,0))       #保证随机金额处于集合(0,余额/余下人数*2]中
    a = random.randint(1,vmax)/100
    print("第%d个红包:%.2f元;"%(i,a))
    psum -= a
    pnum1 -= 1
print("第%d个红包:%.2f元。"%(pnum,psum))

算法思路:博主dayslrk的博客<python实现简单抢红包算法>.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值