【发布时间】:2019-05-28 06:25:45
【问题描述】:
我正在设计一个具有 init() 方法的甲板类,最初有一个空列表。然后我将我的卡片附加到列表中。我正在尝试创建一个 x 实例并访问牌组的洗牌版本。我知道已经发布了许多解决方案。我只想用我的逻辑来理解我能够打印卡片元素的地址而不是卡片组本身。在尝试调试时,我不明白 print(x.cards_in_deck) 是在打印位置还是 x.shuffle...。Pycharm 调试的任何好的参考也将受到高度赞赏。
suits = ('Hearts', 'Diamonds', 'Spades', 'Clubs')
ranks = ('Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King', 'Ace')
values = {'Two':2, 'Three':3, 'Four':4, 'Five':5, 'Six':6, 'Seven':7, 'Eight':8, 'Nine':9, 'Ten':10, 'Jack':10,
'Queen':10, 'King':10, 'Ace':11}
class Card:
def __init__(self,suit,rank):
self.suit = suit
self.rank = rank
def __str__(self):
return self.rank +' of '+self.suit
class Deck:
def __init__(self):
self.cards_in_deck = []
for suit in suits:
for rank in ranks:
self.cards_in_deck.append(Card(suit, rank))
#return self.cards_in_deck
def __str__(self):
# for card in Deck.cards_in_deck:
# return(card)
return self.cards_in_deck
def shuffle_cards(self):
return random.shuffle(self.cards_in_deck)
x = Deck()
print(x.cards_in_deck,sep ='\n')
print(x.shuffle_cards(),sep = '\n')
【问题讨论】:
标签: python python-3.x list class printing