sync with O'Reilly Atlas
This commit is contained in:
14
05-data-classes/cards_enum.py
Normal file
14
05-data-classes/cards_enum.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from dataclasses import dataclass
|
||||
import enum
|
||||
|
||||
Suit = enum.IntEnum('Suit', 'spades diamonds clubs hearts')
|
||||
Rank = enum.Enum('Rank', [str(n) for n in range(2, 10)] + list('JQKA'))
|
||||
|
||||
@dataclass(order=True)
|
||||
class Card:
|
||||
rank: Suit
|
||||
suit: Rank
|
||||
|
||||
def __str__(self):
|
||||
glyphs = [chr(x) for x in range(0x2660, 0x2664)]
|
||||
return f'{self.rank} of {glyphs[self.suit-1]}'
|
||||
Reference in New Issue
Block a user