面向对象之左右手交换牌

‘’’
#左右手交换牌 案列
#小明手里有俩张牌,左手红桃♥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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值