class Person:
""" 默认体力100
吃饭恢复体力20
睡觉恢复体力50
学习消耗体力30
锻炼消耗体力20
"""
def __init__(self):
self.Power = 100
self.name = None
def __change_HP(self, num, action):
if num > 0:
self.Power += num
# print("正在%s,当前的体力值%d" % (action, self.Power))
if self.Power > 100:
print("体力值已经爆满,战斗力超强")
self.Power = 100
else:
print("正在%s,当前的体力值%d" % (action, self.Power))
else:
self.Power += num
if self.Power < 0:
self.Power -= num
print("体力已经用完,无法完成%s" % action)
else:
print("%s正在%s,当前恢复的体力值为%d" % (self.name, action, self.Power))
def eat(self):
self.__change_HP(20, "吃饭")
# if self.Power >= 0 and self.Power < 100:
# self.Power += 20
# print("正在吃饭,当前的体力值%d" %(self.Power))
# else:
# print("该体力值爆满,不在需要吃饭")
def sleep(self):
self.__change_HP(50, "睡觉")
# if self.Power >= 0 and self.Power < 100:
# self.Power += 50
# print("正在吃饭,当前的体力值%d" % (self.Power))
# else:
# print("该体力值爆满,不在需要睡觉")
def study(self):
self.__change_HP(-30, "学习")
# if self.Power > 30:
# self.Power -= 30
# print("正在吃饭,当前的体力值%d" % (self.Power))
# else:
# print("该体力值爆满,不在需要睡觉")
def run(self):
self.__change_HP(-45, "跑步")
# if self.Power > 45:
# self.Power -= 45
# print("正在吃饭,当前的体力值%d" % (self.Power))
# else:
# print("该体力值爆满,不在需要睡觉")
def __str__(self):
return "当前体力值为%d" % (self.Power)
p = Person()
p.name = "小明"
p.sleep()
p.run()
p.run()
p.run()