def find_longest_chain:# 牌的顺序card_order = ['3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']card_set = set(card_order)# 统计总牌库(每种牌有4张)total_cards = {}for card in card_order:total_cards[card] = 4# 输入手中的牌hand_input = input("请输入手中的牌(用'-'分隔,例如:3-4-5-6-7-8):")hand_cards = hand_input.split('-') if hand_input else for card in hand_cards:if card in total_cards:total_cards[card] -= 1# 输入已出过的牌played_input = input("请输入已出过的牌(用'-'分隔,例如:7-8-9-10-J-Q):")played_cards = played_input.split('-') if played_input else for card in played_cards:if card in total_cards:total_cards[card] -= 1# 剩余的牌(对手的牌)remaining_cards = {card: count for card, count in total_cards.items if count > 0}# 检查所有可能的顺子max_chain = max_length = 0for start in range(len(card_order)):for end in range(start + 5, len(card_order) + 1):chain = card_order[start:end]valid = Truefor card in chain:if remaining_cards.get(card, 0) max_length:max_length = len(chain)max_chain = chainelif len(chain) == max_length:# 选择牌面更大的顺子(比较最后一个牌的大小)if card_order.index(chain[-1]) > card_order.index(max_chain[-1]):max_chain = chainif max_length >= 5:print("对手可能构成的最长的顺子是:", '-'.join(max_chain))else:print("NO-CHAIN")# 调用函数find_longest_chain摘要:def find_longest_chain:# 牌的顺序card_order = ['3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']card_set = set(card_order)#
来源:峻浩教育