定义一个python类,属性包含姓名,性别,年龄.....

定义一个python类,属性包含姓名,性别,年龄.....

问题描述:

定义一个Person类,属性包含姓名,性别,年龄和战斗值,同时定义一个类属性Counter用于对象计数,Person类对象具有战斗(battle)、练习(practise)、吃饭(eat)和显示信息(info)方法,其中战斗一次扣除战斗值100,练习一次增加战斗值200,吃饭一次增加战斗值80,信息方法中显示形如”I am player *, I have * fighting value.“(*为具体的值)。已知有两个小伙伴xiaohua和xiaoqiang,其中xiaohua是女生(F)、18岁,初始战斗值为2000,xiaoqiang是男生(M)、19岁,初始战斗值为1500,假设输出信息如下: I am player 1 xiaohua, I have 2000 fighting value. I am player 1 xiaohua, I have 1980 fighting value. I am player 2 xiaoqiang, I have 1760 fighting value. 请写出相应的类,并实例化对象,设计完成相应的任务(battle、practise或eat及info)并输出。

class Person:
    Counter = 0
    def __init__(self,name,sex,age,fighting_value):
        Person.Counter += 1
        self.name = name
        self.sex = sex
        self.age = age
        self.fighting_value = fighting_value
        self.id = Person.Counter

    def battle(self):
        print(f'【{self.name} 战斗】') #显示执行效果,不需要的话可以删除
        self.fighting_value -= 100

    def practise(self):
        print(f'【{self.name} 练习】') #显示执行效果,不需要的话可以删除
        self.fighting_value += 200

    def eat(self):
        print(f'【{self.name} 吃饭】') #显示执行效果,不需要的话可以删除
        self.fighting_value += 80

    def info(self):
        print(f'I am player {self.id} {self.name}, I have {self.fighting_value} fighting value.')


p1 = Person("xiaohua","F",18,2000)
p2 = Person("xiaoqiang","M",19,1500)
p1.info()
p2.info()
p1.battle()
p2.eat()
p1.info()
p2.info()
p1.eat()
p2.practise()
p1.info()
p2.info()
p1.battle()
p2.practise()
p1.info()
p2.info()

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

谢谢您体验有问必答服务!如果您有什么建议,也可以通过问卷进行反馈哦~