最近网上出现了各种的抢红包,支付宝、QQ、微信。其中一种拼手气红包,发红包时用户输入一个红包总金额和待发红包总数,发布红包后,其它用户抢红包时可以随机得到不定金额的红包,RP好的可能抢到几块,RP不好时可能只会抢到几毛,甚至几分钱。
废话不说了,下面放出个python实现的发红包程序。原程序出自某群,我只是稍微修改了一下。
#coding=gbk
import random
import sys
def calRandomValue(total, num):
total = float(total)
num = int(num)
min = 0.01 #基数
if(num < 1):
return
if num == 1:
print "第%d个人拿到红包数为:%.2f" %(num, total)
return
i = 1
while( i < num ):
max = total - min*(num- i)
k = int((num-i)/2)
if num -i <= 2:
k = num -i
max = max/k
monney = random.randint(int(min*100), int(max*100))
monney = float(monney)/100
total = total - monney
print "第%d个人拿到红包数为:%.2f, 余额为: %.2f" %(i, monney, total)
i += 1
print "第%d个人拿到红包数为:%.2f, 余额为: %.2f" %(i, total, 0.0)
if __name__ == "__main__":
total = raw_input("输入红包总金额:")
num = raw_input("输入发红包数量:")
calRandomValue(total, num)
http://m.bbyears.com/jiaocheng/71401.html
推荐访问:python抢票