最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python生成隨機紅包的實例寫法

 更新時間:2019年09月02日 15:00:45   作者:cawen  
在本篇文章里小編給大家整理的是關(guān)于python生成隨機紅包的實例寫法以及相關(guān)知識點,有需要的朋友們可以學(xué)習(xí)下。

假設(shè)紅包金額為money,數(shù)量是num,并且紅包金額money>=num*0.01

原理如下,從1~money*100的數(shù)的集合中,隨機抽取num-1個數(shù),然后對這些數(shù)進(jìn)行排序,在排序后的集合前后分別插入0和money*100,組成新的集合

用新的集合,(后一個數(shù)-前一個數(shù))/100得到紅包的大小

然后使用紅包的時候,從num個紅包集合中隨機拿一個,既是隨機紅包了

def redbags(money, num=10):
  import random
  choice = random.sample(range(1, money * 100), num - 1)
  choice.extend([0,money*100])
  choice.sort()
  return [(choice[i + 1] - choice[i]) / 100 for i in range(num)]

擴展內(nèi)容:

進(jìn)入紅包思路主題

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

#!/usr/bin/env python
# -*-coding:utf-8 -*-
 
import random
 
dic={}
lis = ['KeLan','Monkey','Dexter','Superman','Iron Man','Robin']
 
def redpacket(cash,person,index):
  if cash>0 and person !=1:
    n = round(random.uniform(0.01,cash-(0.01*person)),2)
    dic[lis[index]] = n
    print str(n).ljust(4,"0")
    person-=1
    cash-=n
    index+=1
    redpacket(cash,person,index)
  else:
    dic[lis[index]]=round(cash,2)
    print str(cash).ljust(4,"0")
 
redpacket(10,len(lis),0)
print dic
print "手氣最佳:",max(dic.items(),key=lambda x:x[1])

我在這里用的是遞減的方式來遞歸剩余的錢數(shù)與人數(shù),加了個判斷防止無限遞歸。只要錢cash大于0并且person剩余人數(shù)不是1那么繼續(xù)往下走:n是隨機浮點數(shù),范圍是從最小的0.01到當(dāng)前的金額,round是取小數(shù)點后保留2位,這字典用來存放相應(yīng)的人搶了多少紅包金額,然后人數(shù)自減少1,金額自減當(dāng)前搶走的金額index是從人名中順序取值(當(dāng)然實際不會按找順序搶,這里只是掩飾介紹過程),然后遞歸調(diào)用自己把剩余的錢cash,剩余人數(shù)person,新位置的人重新傳參,如果剩下最后一個人(測試了50次,沒有發(fā)現(xiàn)金額小于0的情況所以這里只表述人)那么剩下的錢就都是他的并且添加到字典,打印輸出,由于else內(nèi)沒調(diào)用自身遞歸自然結(jié)束最后打印字典的包含了人與搶紅包金額對應(yīng),最后要答應(yīng)手氣最佳的人用max從列表中取最大值dic.items()返回以元組形式一一對應(yīng)的列表[(person人,cash錢)],lambda寫的是取每個元素的的1位置來做比較也是就是cash值來做比較,max拿出列表中最大的元組。

以上就是本次介紹的全部知識點內(nèi)容,感謝大家對腳本之家的支持。

相關(guān)文章

  • python hmac模塊驗證客戶端的合法性

    python hmac模塊驗證客戶端的合法性

    這篇文章主要介紹了python hmac模塊驗證客戶端的合法性,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • Python自動掃描出微信不是好友名單的方法

    Python自動掃描出微信不是好友名單的方法

    很多人想要清楚已經(jīng)被刪除的好友名單。面對龐大的好友數(shù)量想要清除談何容易,本文主要介紹了Python自動掃描出微信不是好友名單的方法,感興趣的可以了解一下
    2021-05-05
  • Python爬蟲實現(xiàn)爬取京東手機頁面的圖片(實例代碼)

    Python爬蟲實現(xiàn)爬取京東手機頁面的圖片(實例代碼)

    下面小編就為大家分享一篇Python爬蟲實現(xiàn)爬取京東手機頁面的圖片實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • 利用Python實現(xiàn)一個簡易的截圖工具

    利用Python實現(xiàn)一個簡易的截圖工具

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實現(xiàn)一個簡易的截圖工具,可以截完圖之后顯示并且永遠(yuǎn)前置,感興趣的小伙伴可以嘗試一下
    2022-07-07
  • pytorch教程網(wǎng)絡(luò)和損失函數(shù)的可視化代碼示例

    pytorch教程網(wǎng)絡(luò)和損失函數(shù)的可視化代碼示例

    這篇文章主要介紹了pytorch教程中網(wǎng)絡(luò)和損失函數(shù)的可視化,文中附含詳細(xì)的代碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Django數(shù)據(jù)庫遷移常見使用方法

    Django數(shù)據(jù)庫遷移常見使用方法

    這篇文章主要介紹了Django數(shù)據(jù)庫遷移常見使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 一文詳解如何使用Python從字符串中提取數(shù)字

    一文詳解如何使用Python從字符串中提取數(shù)字

    這篇文章主要給大家介紹了關(guān)于如何使用Python從字符串中提取數(shù)字的相關(guān)資料,我們在進(jìn)行數(shù)據(jù)處理時候,可能想要提取字符串中的數(shù)字進(jìn)行分析,需要的朋友可以參考下
    2023-11-11
  • Python實現(xiàn)LRU算法

    Python實現(xiàn)LRU算法

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)LRU緩存置換算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python PyQt5 Pycharm 環(huán)境搭建及配置詳解(圖文教程)

    Python PyQt5 Pycharm 環(huán)境搭建及配置詳解(圖文教程)

    這篇文章主要介紹了Python PyQt5 Pycharm 環(huán)境搭建及配置詳解,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實現(xiàn)簡單的俄羅斯方塊游戲

    Python實現(xiàn)簡單的俄羅斯方塊游戲

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)簡單的俄羅斯方塊游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

新蔡县| 巴青县| 临澧县| 邢台市| 剑河县| 漳州市| 东明县| 阜新| 吴江市| 象州县| 沐川县| 汨罗市| 嘉黎县| 来宾市| 德保县| 长丰县| 台江县| 东山县| 三穗县| 天台县| 武胜县| 遂溪县| 巴青县| 固镇县| 永胜县| 丁青县| 涿州市| 吉水县| 新泰市| 澎湖县| 绩溪县| 大同县| 墨玉县| 广灵县| 台湾省| 永顺县| 晋江市| 宁陕县| 松阳县| 泽州县| 壤塘县|