一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python實現盲盒抽獎功能(減庫存)

python實現盲盒抽獎功能(減庫存)

2022-01-05 00:22卿本佳人_奈何 Python

本文主要介紹了python實現盲盒抽獎功能,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

案例名稱:盲盒抽獎

案例描述:
某比賽共設三個獎項,分別是:一等獎、二等獎、三等獎,
一等獎的獎品有三種選擇:電飯煲、空調、洗衣機,
二等獎的獎品有三種選擇:球鞋、手表、滑板,
三等獎的獎品有三種選擇:對聯、手袋、鈣片

現需要編寫一個函數,函數中設置一個參數,該參數用來接收對應獎項的字符串。
即:如果參數值等于‘一等獎",則返回對應獎項下可選擇獎品的任意一個,從而實現盲盒抽取效果。
如果參數值的字符串不是一等獎、二等獎或者三等獎,則直接返回輸入有誤,沒有該獎項字樣。比如:參數值等于‘四等獎",則直接返回輸入有誤,沒有該獎項。
當抽出獎項后,相應庫存減一,如果獎項庫存為零時,返回沒有獎品了

代碼實現如下:

#猜盲盒
import random
#用字典嵌套字典的形式存儲所有獎品信息
w = {
    "一等獎": {
        "電飯煲": 2,
        "空調": 1,
        "洗衣機": 1
    },
    "二等獎": {
        "球鞋": 2,
        "手表": 5,
        "滑板": 3
    },
    "三等獎": {
        "對聯": 4,
        "手袋": 2,
        "鈣片": 3
    }
}


def lottery_plus(level=None):
    
    if level == "一等獎": 
        w_num = w.get("一等獎")  # 庫存字典 {"電飯煲":2, "空調":1, "洗衣機":1}
        jackpot = []  # 獎池:誰的庫存不為0進獎池 ["電飯煲","空調","洗衣機"]
        # 誰的庫存不為0進獎池
        for k in w_num.keys():  # 遍歷["電飯煲","空調","洗衣機"]
            if w_num.get(k) != 0:  # 如果庫存不為0
                jackpot.append(k)  # 進獎池 [].append("電飯煲")
        try:
            result = random.choice(jackpot) #隨機抽取一個獎品
            # 庫存-1
            w.get("一等獎")[result] -= 1
            print("一等獎池:", end=" ")
            print(jackpot)
            return "恭喜獲得一等獎" + result
        except:
            return "很遺憾,一等獎沒有了"  #random.choice([]) 傳入空的列表時會報錯,列表為空時說明獎品已經都抽走了,所有獎品庫存為零
        
    elif level == "二等獎":  
        w_num = w.get("二等獎")  
        jackpot = []  
        # 誰的庫存不為0進獎池
        for k in w_num.keys():  
            if w_num.get(k) != 0:
                jackpot.append(k)  
        try:
            result = random.choice(jackpot)
            # 庫存-1
            w.get("二等獎")[result] -= 1
            print("二等獎池:", end=" ")
            print(jackpot)
            return "恭喜獲得二等獎" + result
        except:
            return "很遺憾,二等獎沒有了"
        
    elif level == "三等獎": 
        w_num = w.get("三等獎")  
        jackpot = []  
        # 誰的庫存不為0進獎池
        for k in w_num.keys():  
            if w_num.get(k) != 0: 
                jackpot.append(k)  
        try:
            result = random.choice(jackpot)
            # 庫存-1
            w.get("三等獎")[result] -= 1
            print("三等獎池:", end=" ")
            print(jackpot)
            return "恭喜獲得三等獎" + result
        except:
            return "很遺憾,三等獎沒有了"
    else:
        return "沒有獲獎"

下面是調用函數的結果:

python實現盲盒抽獎功能(減庫存)

python實現盲盒抽獎功能(減庫存)

到此這篇關于python實現盲盒抽獎功能(減庫存)的文章就介紹到這了,更多相關python 盲盒抽獎內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.51cto.com/u_5839280/3831231

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本破处| 2019中文字幕| 色啪久久婷婷综合激情 | 亚洲精品午夜级久久久久 | 扒开胸流出吃奶 | 校草让我脱了内裤给全班看 | 欧美粗黑巨大gay | 国产成人亚洲综合a∨婷婷 国产成人亚洲精品乱码在线观看 | 青草欧美| 亚洲午夜精品久久久久 | 日韩不卡一区二区三区 | 双子母性本能在线 | www.日日日| 国产精品日韩欧美一区二区三区 | 国产精品99久久久 | 91婷婷射| 色戒真做gif动图 | 男男羞羞视频网站国产 | 国产在线成人a | 男女激情视频1000辣妞范 | 99精品全国免费7观看视频 | 糖心vlog麻豆精东影业传媒 | 侮辱丰满美丽的人妻 | 青草香蕉精品视频在线观看 | 亚洲男人天堂久久 | youzljzljzljzlj96| 9re视频这里只有精品 | 亚洲午夜久久久久久91 | 婷婷在线网站 | 免费视频精品一区二区三区 | 国内久久婷婷综合欲色啪 | 色综合天天综合网看在线影院 | 五月天精品视频播放在线观看 | 久久综合狠狠综合狠狠 | 亚洲大片免费看 | 日本ccc三级| 免费视频一区二区 | pron欧美| 国产91精品久久久久久 | 传说之下羊妈挤羊奶网站 | 好硬好大好浪夹得好紧h |