0

目标:尝试用鸟作为宠物来实例化忍者类,宠物类应该为鸟对象提供方法和属性,并且宠物类应该提供与其健康相关的属性。

  class Ninja:
    def __init__(self,first_name,last_name,treats,pet_food,pet):
        self.first_name = first_name
        self.last_name = last_name
        self.treat = treats
        self.pet_food =  pet_food
        self.pet = Pet(#DO I PASS PET Class Args Here)
    def walk(self):
        self.Pet.play(self)
        return self
    def feed(self):
        self.Pet.eat(self)
        return self
    def bathe(self):
        self.Pet.noise(self)
        return self 

class Pet:
    def __init__(self, name, type, tricks):
        self.name = name
        self.health = Health()
        self.type = type
        self.tricks = tricks
    def sleep(self):
        self.Health.energy += 50
        return self
    def eat(self):
        if self.Health.hunger < 10:
            self.Health.anger += 5
        else:
            self.Health.hunger -= 20
        return self
    def play(self):
        if self.Health.energy < 15:
            self.Health.anger += 5
        else:
            self.Health.lonliness -= 10
            self.Health.boredom -= 25
            self.Health.energy - 15
    def noise(self):
        pass

class Health:
    def _init__(self,energy=50,hunger=50,boredom=25,lonliness=25,anger=0):
        self.energy = energy
        self.hunger = hunger
        self.boredom = boredom
        self.anger = anger
        self.lonliness = lonliness

class Bird(Pet):
    def __init__(self, name, type, tricks,wing_span,flight):
        super().__init__(name, type, tricks)
        self.name = name
        self.type = type
        self.wing_span = wing_span
        self.flight = flight 
    def fly(self):
        if self.Health.energy < 15:
            self.Health.anger += 5
        else:
            self.Health.energy - 15


class Dog(Pet):
    def __init__(self, name, type, tricks):
        super().__init__(name, type, tricks);

class Cat(Pet):
    def __init__(self, name, type, tricks):
        super().__init__(name, type, tricks)

结果:我不确定将每个作业的非默认参数的参数传递到哪里

4

0 回答 0