我跟着一本很不错的python书,它教你如何创建一些纸牌游戏的模拟。正如你在下面看到的,我已经创建了一个“卡片”类,用于索引卡片中所有可能的卡片组合。然后我创建了一个“Deck”类,它使卡片组合中的卡片成为“卡片”。我的问题是,我试图模拟某人从decl中取出一张卡片,但无法获得最后一个班级的removeCard功能,而且我不太清楚为什么。有人可以帮助我了解我的问题以及如何纠正它?谢谢。纸牌游戏模拟list.remove
class Card:
def __init__(self, suit = 0, rank = 2):
Card.suit = suit
Card.rank = rank
#Two class attributes that are helpful in determining suit/rank
ranklist = ['narf', 'Ace', 'Two', 'Three', 'Four', 'Five', \
'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King']
suitlist = ['Clubs', 'Diamonds', 'Hearts', 'Spades']
def __repr__(self):
return (self.ranklist[self.rank] + " of " + self.suitlist[self.suit])
class Deck:
def __init__(self):
self.cards = []
for suit in range(4):
for rank in range(1,13):
x = Card()
x.rank = rank
x.suit = suit
self.cards.append(x)
def printDeck(self):
for card in self.cards:
print(card)
def removeCard(self, card):
if card in self.cards:
self.cards.remove(card)
return True
else:
return False
_“但不能获得最后类功能removeCard工作。” _你能否提供演示如何创建甲板,取出存储卡,并显示结果完整的,可运行的代码?另外,你可以仔细检查你的代码在帖子中是否被正确格式化了?当我尝试运行它时,出现'IndentationError'。 – Kevin
这本书的名字是什么? – Bazman