# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/deck.ipynb. # %% auto 0 __all__ = ['Deck'] # %% ../nbs/deck.ipynb 3 from .card import * from fastcore.test import * from fastcore.utils import * # %% ../nbs/deck.ipynb 4 class Deck: def __init__(self): self.cards = [Card(suit, rank) for suit in range(4) for rank in range(1, 14)] def __str__(self): return "|".join([str(card) for card in self.cards]) def __len__(self): return len(self.cards) def __contains__(self, card): return card in self.cards __repr__ = __str__ # %% ../nbs/deck.ipynb 10 @patch def pop(self: Deck, idx: int = -1): # index of card to remove, default to last card """Remove one card from the deck""" return self.cards.pop(idx)