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的铅笔
小花喜欢小明
小明亲了小花一口
小明开心的跳起来了
小花害羞的脸都红了