import random # 定义每种花色的枚举值 SPADE, HEART, DIAMOND, CLUB = range(4) # 定义每种点数的枚举值 ACE, DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING = range(13) # 定义牌面值 RANKS = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"] # 定义花色值 SUITS = ["?", "?", "?", "?"] # 定义一副牌 deck = [(rank, suit) for rank in RANKS for suit in SUITS] # 洗牌 random.shuffle(deck) # 发牌 player1 = deck[:26] player2 = deck[26:] # 游戏循环 while len(player1) > 0 and len(player2) > 0: # 玩家1取一张牌 card1 = player1.pop() # 玩家2取一张牌 card2 = player2.pop() # 比较点数 rank1 = RANKS.index(card1[0]) rank2 = RANKS.index(card2[0]) if rank1 > rank2: print("Player 1 wins: {}{}".format(card1[0], card1[1])) player1.insert(0, card1) player1.insert(0, card2) elif rank1 < rank2: print("Player 2 wins: {}{}".format(card2[0], card2[1])) player2.insert(0, card1) player2.insert(0, card2) else: print("War!") war_cards1 = [card1] war_cards2 = [card2] # 暴力解决平局情况 while rank1 == rank2 and len(player1) > 0 and len(player2) > 0: for i in range(4): if len(player1) > 0 and len(player2) > 0: war_cards1.append(player1.pop()) war_cards2.append(player2.pop()) rank1 = RANKS.index(war_cards1[-1][0]) rank2 = RANKS.index(war_cards2[-1][0]) if rank1 > rank2: print("Player 1 wins: {}{}".format(card1[0], card1[1])) player1 = war_cards1 + war_cards2 + player1 else: print("Player 2 wins: {}{}".format(card2[0], card2[1])) player2 = war_cards1 + war_cards2 + player2 # 判断胜负 if len(player1) > len(player2): print("Player 1 wins!") else: print("Player 2 wins!") 上述程序实现了一个简单的扑克牌游戏,包括洗牌、发牌、比较点数、平局处理等功能。