【发布时间】:2017-09-26 12:41:06
【问题描述】:
我目前正在尝试编写一个(饮酒)游戏,名为:乘坐公共汽车。我现在的问题不一定在于对游戏进行编程,而是生成一副没有任何重复的纸牌。我在这个论坛上到处找它,但我发现的唯一东西是如何生成随机卡片,而不是如何排除重复卡片。这是我现在用于生成卡片的代码:
suitnum = ["spade","club","heart","diamond"]
cardnum = [2,3,4,5,6,7,8,9,10,"jack","queen","king","ace"]
suit1 = random.choice(suitnum)
card1 = random.choice(cardnum)
现在,对于游戏中的每一轮,我以相同的方式生成一张新牌,只是每轮的花色和牌名都不同。我将之前生成的卡片带入每一轮(每一轮都是单独的 def),因为我需要它们。我现在的问题是这段代码允许发生重复。我想找到一种方法,在程序开始时基本上生成一个“洗牌”的牌组,并且在每一轮中都能够参考该牌组并拿到牌组的顶牌。我认为这将是解决问题的最简单方法。有没有人有任何想法如何编码,或者可能有更简单的方法来解决我的问题?
【问题讨论】:
-
您可以使用
set类来插入您已经获得的卡片,因为set类是唯一对象的集合,如果您尝试添加现有卡片,您得到一个例外。
标签: python