好了,伙计们,我正在上一堂牌组课,我想制作我的牌组,这样当牌发完后,我可以在洗牌时恢复牌组。我认为它可以用相同的类名调用类,但python会引发“TypeError:restore_deck()缺少1个必需的位置参数:'self'”
class Card:
def __init__(self, value, suit):
self.value = value
self.suit = suit
class Deck:
def __init__(self):
suits = ["Hearts", "Diamonds", "Clubs", "Spades"]
values = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
self.cards = [Card(value, suit) for suit in suits for value in values]
def shuffle(self):
def restore_deck(self):
self = Deck()
if self.count() < 52: # |here is the problem!
restore_deck(self)# |
shuffle(self.cards)
return self
我认为你的意思是从牌组中的牌列表中移除牌,你想做的是洗牌所有52张牌,要做到这一点,我们可以随机导入模块,当我们想洗牌牌时,我们可以重新创建牌列表,然后洗牌整个列表。我添加了repr方法,以便您可以清楚地看到输出。如果您不想重新生成整个列表,您可以将“删除”的卡存储起来,并在洗牌之前将它们重新添加到列表中
相关问题 更多 >
编程相关推荐