以下是实验3面向对象程序设计的示例代码: ```python import random class CardDeck: def __init__(self): self.cards = [] self.init_deck() def init_deck(self): suits = ["黑桃", "红桃", "方块", "梅花"] ranks = ["a", "2", "3", "4", "5", "6", "7", "8", "9", "10", "j", "q", "k"] for suit in suits: for rank in ranks: card = suit + rank self.cards.append(card) def display_deck(self): print("当前牌组:") for card in self.cards: print(card, end=" ") print() def shuffle_deck(self): random.shuffle(self.cards) print("牌组已经洗牌") def deal_cards(self, num): if num > len(self.cards): print("错误:发牌数大于当前牌组数量") return print("发牌结果:") for i in range(num): card = self.cards.pop(0) print(card, end=" ") print() def main(): deck = CardDeck() while True: print("1、初始化牌") print("2、显示牌码") print("3、洗牌") print("4、发牌") print("5、退出") choice = input("请输入对应的数字选择相应的业务:") if choice == "1": deck.init_deck() print("牌组已经初始化完成") elif choice == "2": deck.display_deck() elif choice == "3": deck.shuffle_deck() elif choice == "4": num = int(input("请输入发牌数:")) deck.deal_cards(num) elif choice == "5": print("再见~ ~ ~") break else: print("输入错误,请重新选择") if __name__ == "__main__": main() ``` 这是一个简单的实现,根据用户的选择执行相应的操作,例如初始化牌、显示牌码、洗牌和发牌。通过创建一个`CardDeck`类来处理这些操作,并使用类的方法来对牌组进行操作。每个方法都有相应的功能,并且在用户选择相应的业务时进行调用。 注意到`CardDeck`类的初始化方法`__init__`中,我们用`self.cards`列表来存储牌组。`init_deck`方法用于初始化牌组,`display_deck`方法用于显示牌组,`shuffle_deck`方法用于洗牌,`deal_cards`方法用于发牌。 在`main`函数中,我们创建了一个`CardDeck`对象,并根据用户的选择,分别调用`CardDeck`类中的方法来完成相应的业务。 希望这个示例代码对你有所帮助。如果有任何问题,请随时提出。 [2024-03-24 21:24:54 | AI写代码神器 | 1936点数解答]