我正在创建一个以黑杰克为灵感的游戏,我使用以下代码生成牌组和手:
suits = 'SCHD'
values = '23456789TJQKA'
deck = tuple(''.join(card) for card in itertools.product(values, suits))
dealershand = random.sample(deck, 1)
yourhand = random.sample(deck, 2)
这样做的问题是,在“dealershand”和“yourhand”中提取同一张卡的可能性很小。我想检查该卡是否已经存在,如果已经存在,则生成另一张卡。像这样:
while yourhand is in dealershand:
yourhand=random.sample(deck,2)
您可以使用
random.shuffle(deck)
来洗牌牌组(需要是list
而不是tuple
),然后您可以使用deck.pop()
一次抽一张牌。你知道吗有一种安全的方法:
相关问题 更多 >
编程相关推荐