'''#左右手交換牌 案列#小明手裡有倆張牌,左手紅桃♥K,右手黑桃♠A,小明交換倆手的牌後,手裡分別是什麼?人類: 屬性:小明,左手,右手 行為:展示手裡的牌, 交換手裡的牌手類: 屬性:牌 行為:手裡拿著撲克牌牌類: 屬性:顏色,數字(紅桃♥K ,黑桃♠A)思路: 先找到對象:左手,右手,♥K, ...
'''
#左右手交換牌 案列
#小明手裡有倆張牌,左手紅桃♥K,右手黑桃♠A,小明交換倆手的牌後,手裡分別是什麼?
人類:
屬性:小明,左手,右手
行為:展示手裡的牌, 交換手裡的牌
手類:
屬性:牌
行為:手裡拿著撲克牌
牌類:
屬性:顏色,數字(紅桃♥K ,黑桃♠A)
思路:
先找到對象:左手,右手,♥K,黑桃A,小明
根據對象抽出對應的類:人,手,牌
根據需要寫出相應地邏輯,很可能反過來完善類的設計
按照題目要求創建相關對象,調用相關方法,實現相關功能
'''
#撲克類 class Poker: def __init__(self,color,num): self.color = color self.num = num def __str__(self): return '{}{}'.format(self.color,self.num) #創建牌類對象 p1 = Poker('♥','K') p2 = Poker('♠','A') #手類 class Hond: def __init__(self,poker): self.poker = poker def hold_poker(self,poker): self.poker = poker #創建左右手對象 life_hond = Hond(p1) right_hond = Hond(p2) # print(life_hond) # print(right_hond) #人類 class Person: def __init__(self,name,life_fond,right_fond): self.name = name self.life_fond = life_fond self.right_fond = right_fond #展示手裡的牌 def show(self): print('{}張開雙手'.format(self.name),end='') print('左手:{}'.format(self.life_fond.poker),end=',') print('右手:{}'.format(self.right_fond.poker)) #交換手裡的牌 def swap(self): self.life_fond.poker,self.right_fond.poker = self.right_fond.poker,self.life_fond.poker print('{}交換倆手的牌'.format(self.name)) #創建小明對象 xiaoming = Person('小明',life_hond,right_hond) #展示手裡的牌 xiaoming.show() #交換手裡的牌 xiaoming.swap() #在展示手裡的牌 xiaoming.show()