Path: blob/master/公开课/年薪50W+的Python程序员如何写代码/code/Python/opencourse/part03/example.py
3078 views
"""1扑克2"""3import enum4import random567@enum.unique8class Suite(enum.Enum):9"""花色(枚举)"""10SPADE, HEART, CLUB, DIAMOND = range(4)111213class Card:14"""牌"""1516def __init__(self, suite, face):17self.suite = suite18self.face = face1920def __repr__(self):21suites = '♠♥♣♦'22faces = ['', 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']23return f'{suites[self.suite.value]}{faces[self.face]}'242526class Poker:27"""扑克"""2829def __init__(self):30self.cards = [Card(suite, face) for suite in Suite31for face in range(1, 14)]32self.current = 03334def shuffle(self):35"""洗牌"""36self.current = 037random.shuffle(self.cards)3839def deal(self):40"""发牌"""41card = self.cards[self.current]42self.current += 143return card4445@property46def has_next(self):47"""还有没有牌可以发"""48return self.current < len(self.cards)495051def main():52"""主函数(程序入口)"""53poker = Poker()54poker.shuffle()55print(poker.cards)565758if __name__ == '__main__':59main()606162