定义一个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)并输出。
4条回答 默认 最新
- CSDN专家-天际的海浪 2021-05-06 22:38关注
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()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题
- ¥15 multisim电路设计
- ¥20 用keil,写代码解决两个问题,用库函数
- ¥50 ID中开关量采样信号通道、以及程序流程的设计
- ¥15 U-Mamba/nnunetv2固定随机数种子
- ¥15 vba使用jmail发送邮件正文里面怎么加图片
- ¥15 vb6.0如何向数据库中添加自动生成的字段数据。