在此程序中,您將學(xué)習(xí)使用隨機(jī)模塊隨機(jī)洗一副紙牌。
要理解此示例,您應(yīng)該了解以下Python編程主題:
# Python程序來洗牌 # 導(dǎo)入模塊 import itertools, random # 制作一副撲克牌 deck = list(itertools.product(range(1,14),['黑桃','紅心','方塊','梅花'])) # 洗牌 random.shuffle(deck) # 抽五張牌 print("你得到了:") for i in range(5): print(deck[i][0], "of", deck[i][1])
輸出結(jié)果
你得到了: 6 張 方塊 10 張 黑桃 2 張 紅桃 5 張 紅桃 13 張 紅桃
注意:再次運(yùn)行程序以隨機(jī)發(fā)牌。
在程序中,我們使用itertools模塊中的product()函數(shù)創(chuàng)建一副牌。這個(gè)函數(shù)執(zhí)行兩個(gè)序列的笛卡爾積。
這兩個(gè)序列是1到13的數(shù)字和四種花色。因此,我們總共有13 * 4 = 52個(gè)項(xiàng)目在牌堆中,每張牌都是一個(gè)元組。例如,
deck[0] = (1, 'Spade')
我們的牌是有序的,所以我們使用random模塊中的函數(shù)shuffle()來洗牌。
最后,我們畫出前五張卡片并將其顯示給用戶。每次運(yùn)行該程序時(shí),我們都會(huì)得到不同的輸出,如兩個(gè)輸出所示。
這里我們使用了Python附帶的標(biāo)準(zhǔn)模塊itertools和random。