from enum import Enum
import random
class Suite(Enum): #花色(枚举)
SPADE, HEART, CLUB, DIAMOND = range(4)
class Card:
def init(self,suite,face):
self.suite=suite
self.face=face
def repr(self):
#suites='♠♥♣♦',字符串形式也可
suites=['♠','♥','♣','♦']
face=['', 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
return f'{suites[self.suite.value]}{face[self.face]}' #这里为什么是suite后要加value而face不需要?
def lt(self, other):
#花色相同比较点数大小
#if self.suite==other.suite:
return self.face<other.face
#else:
#return self.suite.value<other.suite.value
class Poker:
def init(self):
self.cards=[Card(suite,face) for suite in Suite
for face in range(1,14)]
def shuffle(self): #洗牌
random.shuffle(self.cards)
self.current=0
def deal(self): #发牌
self.card=self.cards[self.current]
self.current+=1
return self.card
class Player:
def init(self,name):
self.name=name
self.cards=[]
def get_one_card(self,card):
#摸牌
self.cards.append(card)
def arrange(self):
#排序
self.cards.sort()
poker = Poker()
poker.shuffle()
players = [Player('甲'), Player('乙'), Player('丙'), Player('丁')]
for x in range(13):
for player in players:
player.get_one_card(poker.deal())
for player in players:
player.arrange()
print(f'{player.name}: ', end='')
print(player.cards)
https://blog.csdn.net/laoyuanpython/article/details/94397926