在此程序中,您将学习使用随机模块随机洗一副纸牌。
要理解此示例,您应该了解以下Python编程主题:
# Python程序来洗牌 # 导入模块 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])
输出结果
你得到了: 6 张 方块 10 张 黑桃 2 张 红桃 5 张 红桃 13 张 红桃
注意:再次运行程序以随机发牌。
在程序中,我们使用itertools模块中的product()函数创建一副牌。这个函数执行两个序列的笛卡尔积。
这两个序列是1到13的数字和四种花色。因此,我们总共有13 * 4 = 52个项目在牌堆中,每张牌都是一个元组。例如,
deck[0] = (1, 'Spade')
我们的牌是有序的,所以我们使用random模块中的函数shuffle()来洗牌。
最后,我们画出前五张卡片并将其显示给用户。每次运行该程序时,我们都会得到不同的输出,如两个输出所示。
这里我们使用了Python附带的标准模块itertools和random。