我需要能夠在洗牌後對卡座進行分類。我的想法是將列表重新分成兩個組件,並檢查每個組件是否有序,然後重新組合。卡片組訂購
如何從Deck類內部分別訪問價值部分和適合部分?
如果你對如何做到這一點有個更好的想法,我也會很感激。
.sort()
由於列表中的項是char + int,即('2C','KH'),調用將不起作用。
import random
class Card:
def __init__(self, suit, order):
self.order = order
self.suit = suit
def fan(self):
print(self.order, "of", self.suit)
class Deck():
def __init__(self):
self.deck = []
for suit in ['Clubs', 'Diamonds', 'Hearts', 'Spades']:
for order in ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']:
self.deck.append(Card(suit, order))
def fan(self):
for c in self.deck:
c.fan()
def shuffle(self):
for suit in ['Clubs', 'Diamonds', 'Hearts', 'Spades']:
for order in ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']:
self.deck.append(Card(suit, order))
random.shuffle(self.deck)
def deal(self):
return self.deck.pop()
def isOrdered(self):
pass
def Order(self):
pass
目前還不清楚你想要什麼。排序甲板?什麼意思是「混合型入門」?爲了允許對卡片進行排序,您應該爲其定義比較運算符('__gt__','__lt__',...)或計算每張卡片的主要值(主要是' * 13 + '),並將此計算函數用作關鍵字函數在'sort()' –
'Deck.deck'列表中的項目是'Card'對象。或者你的意思是不同的列表? –
@MichaelButscher我想要在'deck'列表中訂購'card'對象。這是否更有意義? – Jonathan