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()