File size: 768 Bytes
6e3fa72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 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)