spades = ['2S','3S','4S','5S','6S','7S','8S','9S','10S','JS','QS','KS','AS']
hearts = ['2H','3H','4H','5H','6H','7H','8H','9H','10H','JH','QH','KH','AH']
clubs = ['2C','3C','4C','5C','6C','7C','8C','9C','10C','JC','QC','KC','AC']
diamonds = ['2D','3D','4D','5D','6D','7D','8D','9D','10D','JD','QD','KD','AD']
suits = [spades,hearts,clubs,diamonds]
randomD = int(random.random()*4)
random4 = int(random.random()*(len(suits[randomD])-1))
CPcard1 = suits[randomD][random4]
del suits[randomD][random4]
for suit in suits:
if CPcard1 in suit:
CPcard1i = suit.index(CPcard1)
if CPcard2 in suit:
CPcard2i = suit.index(CPcard2)
if card1 in suit:
card1i = suit.index(card1)
if card2 in suit:
card2i = suit.index(card2)
if card3 in suit:
card3i = suit.index(card3)
我想做一个条件,当这两个变量是相同的,而不做
if CPcard1 == CPcard2 or CPcard1 == card1 or CPcard1 == card2 (etc)
这是我正在进行的扑克模拟的一部分。(注意:CPcard1和CPcard2属于第一个玩家,而卡1、2和3属于表。所有卡在哪里找到与上面的CPcard1相同的方法)我只想让程序识别一对。我对编码比较陌生,而且我是一个新手,所以任何帮助都将不胜感激:)
首先,关于你的设置的一些注意事项:你选择随机卡片的方式是(a)繁琐的,和(b)不正确的。通过随机选择一套套装,然后从该套装中选择一张卡片,每套套装都有相同的被选中的机会(1/4),即使只有一套(或没有!)卡留在那套衣服里
相反,我建议你用和现实生活中一样的方法来做:把所有的牌放在一副牌里,shuffle那副牌,然后从那副洗过的牌中弹出牌
另外,您可以使用^{} ,而不是手动枚举所有卡片:
关于寻找成对(或三元组,或四元组):最简单的方法是使用^{} 。但也要注意的是,其实并不需要像使用
==
一样使用相同的卡片!相反,如果价值相同就足够了,诉讼可以不同这里,
card[:-1]
将从卡片字符串中获取值,例如'10'
从'10S'
中获取值。然后可以使用counts.most_common
来获得最常见的对(或三元组等),如果有的话示例:
相关问题 更多 >
编程相关推荐