【发布时间】:2014-02-07 19:00:37
【问题描述】:
我正在关注一本非常好的 Python 书籍,它教你如何为一些纸牌游戏创建模拟。正如您在下面看到的,我创建了一个“卡片”类,用于索引一副牌中所有可能的卡片组合。然后我创建了一个类“Deck”,它通过“Card”中的卡片组合来制作卡片组。我的问题是,我正在尝试模拟某人从 decl 中取出卡片,但无法让最后一个类函数 removeCard 工作,我不太清楚为什么。有人可以帮助我理解我的问题以及如何纠正它吗?谢谢。
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。 -
这本书叫什么名字?
标签: class python-3.x simulation