1.py 773 B

123456789101112131415161718192021222324252627282930313233343536
  1. import collections
  2. Card = collections.namedtuple('Card', ['rank', 'suit'])
  3. class FrenchDeck:
  4. ranks = [str(n) for n in range(2, 11)] + list('JQKA')
  5. suits = 'spades diamonds clubs hearts'.split()
  6. def __init__(self) -> None:
  7. self._cards = [Card(rank, suit) for suit in self.suits
  8. for rank in self.ranks]
  9. def __len__(self):
  10. return len(self._cards)
  11. def __getitem__(self, position):
  12. return self._cards[position]
  13. def foo(self):
  14. print(self.ranks)
  15. print(self.suits)
  16. print(self._cards)
  17. def main():
  18. cards = FrenchDeck()
  19. # cards.foo()
  20. print(len(cards))
  21. print(cards[0])
  22. if __name__ == '__main__':
  23. main()