初学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))