Python宠物信息(派生类)

2024-04-27 14:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

您好,我正在努力找出如何完成这段代码:(我甚至不知道从哪里开始!任何帮助都将不胜感激:)

基类Pet具有name和age属性。派生类Dog继承基类Pet类的属性,并包含一个品种属性。完成以下程序:

创建普通宠物,并使用print_info()打印宠物信息。 创建一只狗宠物,使用print_info()打印狗的信息,并添加一条语句打印狗的品种属性

Ex: If the input is:
 
Dobby 
2
Kreacher
3
German Schnauzer

the output is:
 
Pet Information:
   Name: Dobby
   Age: 2
Pet Information: 
   Name: Kreacher
   Age: 3
   Breed: German Schnauzer

以下是我的代码:

class Pet:
    def __init__(self):
        self.name = ''
        self.age = 0

    def print_info(self):
        print('Pet Information:')
        print('   Name:', self.name)
        print('   Age:', self.age)

class Dog(Pet):
    def __init__(self):
        Pet.__init__(self) 
        self.breed = ''

my_pet = Pet()
my_dog = Dog()

pet_name = input()
pet_age = int(input())
dog_name = input()
dog_age = int(input())
dog_breed = input()

# TODO: Create generic pet (using pet_name, pet_age) and then call print_info()

# TODO: Create dog pet (using dog_name, dog_age, dog_breed) and then call print_info()

# TODO: Use my_dog.breed to output the breed of the dog

Tags: thenameselfinfo宠物inputage属性
1条回答
网友
1楼 · 发布于 2024-04-27 14:22:57

以下是一种方法:

class Pet:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def print_info(self):
        print('Pet Information:')
        print('   Name:', self.name)
        print('   Age:', self.age)

class Dog(Pet):
    def __init__(self, name, age, breed):
        super().__init__(name, age) 
        self.breed = breed
    def print_info(self):
        super().print_info()
        print ('   Breed:', self.breed)

pet_name = input("Pet Name:")
pet_age = int(input("Pet Age:"))
dog_name = input("Dog Name:")
dog_age = int(input("Dog Age:"))
dog_breed = input("Dog Breed:")

pet = Pet(pet_name, pet_age)
pet.print_info()
dog = Dog(dog_name, dog_age, dog_breed)
dog.print_info()
print (dog.breed)

相关问题 更多 >