Python版微信紅包分配算法
紅包分配算法代碼實現(xiàn)發(fā)給大家,祝紅包大豐收!
#coding=gbk import random import sys #print random.randint(0, 99) #print "====", random.uniform(0, 0.99) def calRandomValue(min, max, total, num): print min, max, total, num total = float(total) num = int(num) min = 0.01 if(num return if num == 1: print "第%d個人拿到紅包數(shù)為:%.2f" %(num, total) return i = 1 total_money = total #rtotal = (total*100 - min*num*100)/100 while( i max = total_money - min*(num- i) k = int((num-i)/2) if num -i k = num -i max = max/k monney = random.randint(int(min*100), int(max*100)) monney = float(monney)/100 total_money = total_money - monney print "第%d個人拿到紅包數(shù)為:%.2f, 余額為: %.2f" %(i, monney, total_money) i += 1 print "第%d個人拿到紅包數(shù)為:%.2f, 余額為: %.2f" %(i, total_money, 0.0) if __name__ == "__main__": min = sys.argv[1] max = sys.argv[2] total = sys.argv[3] num = sys.argv[4] calRandomValue(min, max, total, num)
python 2.py 0.01 10 20 30
0.01 10 20 30
第1個人拿到紅包數(shù)為:1.34, 余額為: 18.66
第2個人拿到紅包數(shù)為:1.06, 余額為: 17.60
第3個人拿到紅包數(shù)為:1.08, 余額為: 16.52
第4個人拿到紅包數(shù)為:0.98, 余額為: 15.54
第5個人拿到紅包數(shù)為:0.88, 余額為: 14.66
第6個人拿到紅包數(shù)為:0.48, 余額為: 14.18
第7個人拿到紅包數(shù)為:0.26, 余額為: 13.92
第8個人拿到紅包數(shù)為:0.90, 余額為: 13.02
第9個人拿到紅包數(shù)為:0.12, 余額為: 12.90
第10個人拿到紅包數(shù)為:0.41, 余額為: 12.49
第11個人拿到紅包數(shù)為:0.43, 余額為: 12.06
第12個人拿到紅包數(shù)為:0.63, 余額為: 11.43
第13個人拿到紅包數(shù)為:0.36, 余額為: 11.07
第14個人拿到紅包數(shù)為:0.25, 余額為: 10.82
第15個人拿到紅包數(shù)為:1.38, 余額為: 9.44
第16個人拿到紅包數(shù)為:0.17, 余額為: 9.27
第17個人拿到紅包數(shù)為:0.79, 余額為: 8.48
第18個人拿到紅包數(shù)為:0.52, 余額為: 7.96
第19個人拿到紅包數(shù)為:0.44, 余額為: 7.52
第20個人拿到紅包數(shù)為:1.15, 余額為: 6.37
第21個人拿到紅包數(shù)為:0.13, 余額為: 6.24
第22個人拿到紅包數(shù)為:0.76, 余額為: 5.48
第23個人拿到紅包數(shù)為:1.32, 余額為: 4.16
第24個人拿到紅包數(shù)為:0.80, 余額為: 3.36
第25個人拿到紅包數(shù)為:0.16, 余額為: 3.20
第26個人拿到紅包數(shù)為:0.27, 余額為: 2.93
第27個人拿到紅包數(shù)為:1.82, 余額為: 1.11
第28個人拿到紅包數(shù)為:0.45, 余額為: 0.66
第29個人拿到紅包數(shù)為:0.27, 余額為: 0.39
第30個人拿到紅包數(shù)為:0.39, 余額為: 0.00
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
python處理json字符串(使用json.loads而不是eval())
eval 跟json.loads 是不一樣的函數(shù),是有實現(xiàn)不一樣功能的地方,但是在某些地方它們兩個函數(shù)的功能是一樣的,本文就詳細介紹一下2021-09-09Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問題的解決
這篇文章主要給大家介紹了關(guān)于Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07Python如何使用logging為Flask增加logid
這篇文章主要介紹了Python如何使用logging為Flask增加logid,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03Pandas 合并多個Dataframe(merge,concat)的方法
今天小編就為大家分享一篇Pandas 合并多個Dataframe(merge,concat)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06翻轉(zhuǎn)數(shù)列python實現(xiàn),求前n項和,并能輸出整個數(shù)列的案例
這篇文章主要介紹了翻轉(zhuǎn)數(shù)列python實現(xiàn),求前n項和,并能輸出整個數(shù)列的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05