跳到主要内容

Python 程序:洗牌

要理解这个示例,你需要了解以下Python编程主题的知识:

源代码

# Python程序来洗一副扑克牌
# 导入模块
import itertools, random

# 制作一副扑克牌
deck = list(itertools.product(range(1,14),['Spade','Heart','Diamond','Club']))

# 洗牌
random.shuffle(deck)

# 发五张牌
print("你得到了:")
for i in range(5):
print(deck[i][0], "of", deck[i][1])

输出

你得到了:
5 of Heart
1 of Heart
8 of Spade
12 of Spade
4 of Spade

注意: 再次运行程序以洗牌。

在这个程序中,我们使用了itertools模块中的product()函数来创建一副扑克牌。这个函数执行两个序列的笛卡尔积。

两个序列是从1到13的数字和四种花色。所以,一共我们有13 * 4 = 52张牌在牌组中,每张牌都是一个元组。例如,

deck[0] = (1, 'Spade')

我们的牌组是有序的,所以我们使用random模块中的shuffle()函数来洗牌。

最后,我们抽出前五张牌并显示给用户。每次运行此程序时,你将得到不同的输出,如我们的两个输出所示。

在这里我们使用了Python附带的标准模块itertoolsrandom