python Class 类的交互随笔

class human:
    '''人类'''

    def __init__(self, name, age, happyVal=0, moneyVal=0, owned=[], woman=True, Belover=[], Annoying=[]) -> None:
        '''人类初始化'''
        if woman:
            self.gender = 'woman'
        else:
            self.gender = 'man'
        self.name = name
        self.age = age
        self.happyVal = happyVal  # 幸福指数
        self.property = moneyVal  # 金钱值
        self.incomeVal = 0  # 收益值
        self.owned = [] + list(owned)  # 拥有的东西
        self.outKiss = 0
        self.inKiss = 0
        self.BeloverList = list(Belover)
        self.AnnoyingList = list(Annoying)

    def pay(self, moneyVal, something,  someOne=None):
        '''支付'''
        if moneyVal <= self.property:
            self.property = self.property - moneyVal
            print('%s购买%s扣款成功' % (self.name, something.name))
            self.buy(something, moneyVal, someOne)
        else:
            print('钱不够,欲支付金额:%.2f,钱包里面的金额:%.2f' % (moneyVal, something.price))
        return

    def buy(self, something, price, someOne=None):
        '''购买'''
        print('%s将商品拿在手上' % self.name)
        if someOne:
            someOne.owned.append(self.get(something))
            print('%s赠送价值%.2f的%s给%s' %
                  (self.name, something.price, something.name, someOne.name))
            print('%s获得价值%.2f的%s' %
                  (someOne.name, something.price, something.name))
            self.happyValUp(something.price / 2)
        else:
            self.owned.append(self.get(something,))
            print('%s获得价值%.2f的%s' %
                  (self.name, something.price, something.name))
            self.happyValUp(something.price)
        return

    def get(self, something):
        difference = self.property - something.price  # 付款金额 - 商品价值
            # 返还差额到资产
        print('%s购买成功,商品单价:%.2f,实付:%.2f,余额:%.2f' %
                  (self.name, something.price, something.price, self.property))
        return something

    def make_Money(self, moneyVal):
        '''挣钱'''
        self.property = self.property + moneyVal

    def income(self, incomeVal):
        '''非现金收益'''
        self.incomeVal = self.incomeVal + incomeVal

    def happyValUp(self, happyVal):
        '''幸福指数增加'''
        self.happyVal = self.happyVal + happyVal

    def kiss(self, someOne):
        '''亲吻某人'''
        self.outKiss += 1
        someOne.inKiss += 1
        self.happyValUp(5)
        print('%s亲了%s一口' % (self.name, someOne.name))
        if someOne in self.BeloverList:#自己喜欢对方
            print('%s开心的跳起来了' % self.name)
        else:#自己不喜欢对方
            print('%s感觉%s好可爱' % (self.name, someOne.name))

        if self in someOne.BeloverList:#对方喜欢自己
            someOne.happyValUp(10)
            print('%s害羞的脸都红了' % someOne.name)
        else:#对方不喜欢自己
            someOne.happyValUp(-10)
            print('%s说%s有精神病' % (someOne.name, self.name))

    def Belover(self, someOne, loved=True):
        if loved:
            self.BeloverList.append(someOne)
        else:
            self.BeloverList = [
                item for item in self.BeloverList if item != someOne]
        print('%s%s%s' % (self.name, ['不喜欢', '喜欢'][loved], someOne.name))

    def Annoying(self, someOne):
        self.AnnoyingList.append(someOne)
        # 从喜欢的人里面过滤掉someOne
        self.BeloverList = [
            item for item in self.BeloverList if item != someOne]
        print('%s开始讨厌%s了' % (self.name, someOne.name))


class something:
    def __init__(self, name, price) -> None:
        self.name = name
        self.price = price


if __name__ == '__main__':
    XiaoHua = human('小花', 16, 10, 0, [], True)  # 小花,16岁,幸福指数10,财产0,啥也没有,女
    XiaoMing = human('小明', 17, 5, 5, [], False)  # 小明,17岁,幸福指数5,财产5,啥也没有,男

    pencil = something('铅笔', 1)  # 实例化价格为1的铅笔
    rose = something('玫瑰',2)

    XiaoMing.Belover(XiaoHua)        # 小明喜欢小花
    XiaoHua.Belover(XiaoMing, False) # 小花不喜欢小明
    XiaoMing.kiss(XiaoHua)           # 小明亲了一口小花
    XiaoHua.Annoying(XiaoMing)       # 小花讨厌小明
    XiaoMing.pay(1, pencil)         # 小明买了一支铅笔给自己
    XiaoMing.pay(1, rose, XiaoHua)      # 小明买了一支铅笔给小花
    XiaoHua.Belover(XiaoMing)        # 小花喜欢小明
    XiaoMing.kiss(XiaoHua)           # 小明又亲了一口小花

输出结果:

小明喜欢小花
小花不喜欢小明
小明亲了小花一口
小明开心的跳起来了
小花说小明有精神病
小花开始讨厌小明了
小明购买铅笔扣款成功
小明将商品拿在手上
小明购买成功,商品单价:1.00,实付:1.00,余额:4.00
小明获得价值1.00的铅笔
小明购买铅笔扣款成功
小明将商品拿在手上
小明购买成功,商品单价:1.00,实付:1.00,余额:3.00
小明赠送价值1.00的铅笔给小花
小花获得价值1.00的铅笔
小花喜欢小明
小明亲了小花一口
小明开心的跳起来了
小花害羞的脸都红了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值