18 lines
487 B
Python
18 lines
487 B
Python
|
import collections
|
||
|
|
||
|
Card = collections.namedtuple('Card', ['rank', 'suit'])
|
||
|
|
||
|
class FrenchDeck:
|
||
|
ranks = [str(n) for n in range(2, 11)] + list('JQKA')
|
||
|
suits = 'spades diamonds clubs hearts'.split()
|
||
|
|
||
|
def __init__(self):
|
||
|
self._cards = [Card(rank, suit) for suit in self.suits
|
||
|
for rank in self.ranks]
|
||
|
|
||
|
def __len__(self):
|
||
|
return len(self._cards)
|
||
|
|
||
|
def __getitem__(self, position):
|
||
|
return self._cards[position]
|