首先來說說要用到的知識點,第一個要說的是擴展包random,random模塊一般用來生成一個隨機數(shù)

今天要用到ramdom中unifrom的方法用于生成一個指定范圍的隨機浮點數(shù)通過下面的圖簡單看下:

這里就打印了一個值范圍是在10~20之間的浮點數(shù)。


 

在來說說lambda表達式是匿名函數(shù),是函數(shù)的另一種表達方式,以下清晰了介紹了使用效果:

t函數(shù)有3個值,返回3個數(shù)之和,f是lambda表達式,作用同樣是返回三個數(shù)只和,def 類似 lambda,t類似f, (x,y,z):類似x,y,z:, return x+y+z類似:x+y+z  最后都調用函數(shù)返回其和不過在此提醒函數(shù)可以寫很復雜,lambda寫復雜了就不容易理解,代碼畢竟簡單易懂為先。


 

進入紅包思路主題

好了前面簡單的介紹玩今天要使用的工具該進入正題說說紅包的思路了,在你發(fā)紅包的時候要填寫兩個重要參數(shù)就是紅包的金額我命名為cash,人數(shù)person,在就要思考重要的一點就是紅包的最大值和最小值,不會有點紅包領到0吧,一般0.01為最小值,為什么會來說還有最大值,你想假如一個10塊的紅包6個人搶第一個能搶了9.99,那么第二個人只有剩下0.01,后面的人沒得強,這不就有問題了。所以最大值應該就是紅包總金額減去最小值乘以人數(shù)(10-0.01x6)這樣才保證大家都有得搶當然最貪婪的寫法是10-0.01x5有人會問為什么是5,已經(jīng)把第一個人排除剩下五個最慘的結局都是0.01。基本你掌握這個思路就好寫代碼了看看如下: