内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

使用Python制作撲克牌的方法-創(chuàng)新互聯(lián)

使用Python制作撲克牌的方法?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供臺(tái)江企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、HTML5建站、小程序制作等業(yè)務(wù)。10年已為臺(tái)江眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

創(chuàng)建一個(gè)紙牌類

一副撲克除去大王小王之外,剩下的 52 張紙牌以花色為基準(zhǔn)(梅花、方塊、黑桃、紅心)可分為 4 組,每組有 13 張牌組成;因此可創(chuàng)建兩個(gè)列表一個(gè)來(lái)存儲(chǔ)花色,一個(gè)存儲(chǔ) 13 個(gè)字符;通過兩個(gè)列表之間的隨機(jī)組合來(lái)生成 52 張紙牌,

代碼如下:

使用Python制作撲克牌的方法​

代碼中通過collections.namedtuple模塊創(chuàng)建一個(gè)類來(lái)表示一幅紙牌,['rank','suit']分別表示紙牌中的字符(2-10,J-A)和花色;

FranchDeck 類來(lái)建 52 張紙牌,其中有兩個(gè)特殊方法,len() 返回紙牌數(shù)量,__getitem__() 獲取 position(索引) 下的指定紙牌

使用Python制作撲克牌的方法​

隨機(jī)抽取一張牌

這里借助 random 模塊實(shí)現(xiàn)隨機(jī)抽牌的功能

使用Python制作撲克牌的方法​

列表迭代、切片

因?yàn)?__getitem__ 方法 把 [] 操作交給 self._cards 列表 ,除了上面提到的 index 定位之外,F(xiàn)ranckDeck() 類還可實(shí)現(xiàn)切片、迭代操作;

使用Python制作撲克牌的方法​

排序操作

常規(guī)來(lái)說(shuō),依據(jù)點(diǎn)數(shù)來(lái)判斷撲克牌的大小的話,2最小,A大。實(shí)現(xiàn)點(diǎn)數(shù)排序是比較簡(jiǎn)單的,在創(chuàng)建點(diǎn)數(shù)列表時(shí)是以上面提到順序進(jìn)行創(chuàng)建,排序時(shí)只需按照 點(diǎn)數(shù)所在 index 作為基準(zhǔn)進(jìn)行排序即可,

除了 點(diǎn)數(shù)之外還有一個(gè) 花色也需要考慮,對(duì)于花色的話,需要建立一個(gè)映射基準(zhǔn)(也可以稱之為權(quán)重),不同花色賦予不同值;Python 的字典類型可以很方面地滿足我們的需要

使用Python制作撲克牌的方法​

代碼解讀:

1,代碼中利用字典加入了一個(gè)映射機(jī)制,黑桃為3,紅心為2,方塊次之,隨后梅花;2,創(chuàng)建 spades_high 函數(shù)來(lái)計(jì)算 每張牌的權(quán)重總值;3,利用 sorted() 函數(shù) key= spades_high 來(lái)作為排序基準(zhǔn),來(lái)實(shí)現(xiàn)撲克牌排序

洗牌操作

洗牌簡(jiǎn)單來(lái)說(shuō)就是對(duì)一副撲克牌重新進(jìn)行無(wú)規(guī)則地排序;正常情況random.shuffle 可以很方面地實(shí)現(xiàn)這個(gè)功能,但前提需要保證對(duì)象 滿足可變協(xié)議,這里 FranchDeck() 是不滿足的,直接使用的話會(huì)報(bào)錯(cuò):

使用Python制作撲克牌的方法​

對(duì)于上面問題,只需要要把 此類由不變變成可變的即可,創(chuàng)建一個(gè)函數(shù)賦值為 __setitem__ 屬性

使用Python制作撲克牌的方法​

這里抽取到打亂前后紙牌的前 5 個(gè)元素,已經(jīng)實(shí)現(xiàn)洗牌的功能了!

根據(jù)以上的代碼部分,可以進(jìn)一步開發(fā), 提前設(shè)計(jì)好 54 張撲克牌的可視化圖片,

使用Python制作撲克牌的方法​

創(chuàng)建一個(gè) key:value 映射關(guān)系,對(duì)撲克牌字符與可視化圖片之間創(chuàng)建一個(gè)映射關(guān)系,如下圖所示,把此關(guān)系集存儲(chǔ)到指定數(shù)據(jù)庫(kù)或文件中,后面使用后可直接調(diào)用

使用Python制作撲克牌的方法

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

文章標(biāo)題:使用Python制作撲克牌的方法-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://www.rwnh.cn/article14/ccegge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司商城網(wǎng)站、做網(wǎng)站虛擬主機(jī)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
泰兴市| 湘潭市| 称多县| 礼泉县| 澳门| 南投县| 锦屏县| 吉木乃县| 丰县| 泰顺县| 伊川县| 开封市| 武威市| 晋州市| 黔西| 宁化县| 陆川县| 乌鲁木齐县| 上杭县| 固镇县| 曲麻莱县| 赣州市| 开封市| 吕梁市| 平凉市| 白银市| 基隆市| 东至县| 梁平县| 磴口县| 宁德市| 华亭县| 乌海市| 宜城市| 梁平县| 同仁县| 林西县| 阳新县| 城市| 肃北| 商洛市|