设计一个动物类,具有年龄属性和show方法,show输出“这是一个动物”,设计一个老虎类和猫类,具有name属性,两者都继承了动物类,重写show方法,输出“且是一个老虎/猫”,请实例化1个老虎和猫,输出“这是一个动物,且是一个老虎”和“这是一个动物,且是一个猫”
时间: 2024-03-09 19:46:51 浏览: 37
好的,我来为您编写代码:
```python
class Animal:
def __init__(self, age):
self.age = age
def show(self):
print("这是一个动物")
class Tiger(Animal):
def __init__(self, age, name):
super().__init__(age)
self.name = name
def show(self):
print("这是一个动物,且是一个老虎")
class Cat(Animal):
def __init__(self, age, name):
super().__init__(age)
self.name = name
def show(self):
print("这是一个动物,且是一个猫")
tiger = Tiger(5, "老虎")
cat = Cat(3, "猫")
tiger.show() # 输出“这是一个动物,且是一个老虎”
cat.show() # 输出“这是一个动物,且是一个猫”
```
希望能够帮助到您!
相关问题
写一个菜单程序,能够对动物园的动物进行管理 动物类(id、type、color、sex、price、buyDate(入园时间)、isDead=false) 1、添加动物信息进动物园 2、注销一条动物信息(死亡或卖掉) 3、查询全部动物信息 4、查询某种颜色的动物信息 5、统计某种类型的动物信息 6、统计某种类型的动物的价值 7、修改某个动物的基本信息(输入id) 8、退出 注1:注销动物信息,可以通过改变动物的某一个特殊属性来控制。 比如,动物有个属性叫 isDead , 正常情况下是false,当注销的时候改成true,然后其他所有的统计和查询都只列出isDead属性为false的动物来,这样,看起来这个动物就不存在了。 注2:id是用来唯一标识动物信息的,区别动物主要就得靠ID了,所以添加动物信息的时候,id不允许重复 注3:动物信息是指类似下面的信息: ID:3、老虎、白色、雌、370000购买、2012-3-28入园
好的,以下是一个简单的菜单程序,可以对动物园的动物进行管理。代码如下:
```python
class Animal:
def __init__(self, id, animal_type, color, sex, price, buy_date, is_dead=False):
self.id = id
self.type = animal_type
self.color = color
self.sex = sex
self.price = price
self.buy_date = buy_date
self.is_dead = is_dead
animal_list = []
def add_animal():
id = int(input("请输入动物的ID:"))
for animal in animal_list:
if animal.id == id:
print("该ID已存在,请重新输入!")
return
animal_type = input("请输入动物的种类:")
color = input("请输入动物的颜色:")
sex = input("请输入动物的性别:")
price = float(input("请输入动物的价格:"))
buy_date = input("请输入动物的入园时间(格式:YYYY-MM-DD):")
animal = Animal(id, animal_type, color, sex, price, buy_date)
animal_list.append(animal)
print("添加成功!")
def delete_animal():
id = int(input("请输入要删除动物的ID:"))
for animal in animal_list:
if animal.id == id:
animal.is_dead = True
print("删除成功!")
return
print("未找到该动物!")
def show_all_animals():
print("ID\t种类\t颜色\t性别\t价格\t入园时间")
for animal in animal_list:
if animal.is_dead == False:
print("{}\t{}\t{}\t{}\t{}\t{}".format(animal.id, animal.type, animal.color, animal.sex, animal.price, animal.buy_date))
def show_animals_by_color():
color = input("请输入要查询的动物的颜色:")
print("ID\t种类\t颜色\t性别\t价格\t入园时间")
for animal in animal_list:
if animal.color == color and animal.is_dead == False:
print("{}\t{}\t{}\t{}\t{}\t{}".format(animal.id, animal.type, animal.color, animal.sex, animal.price, animal.buy_date))
def count_animals_by_type():
animal_type = input("请输入要统计的动物种类:")
count = 0
for animal in animal_list:
if animal.type == animal_type and animal.is_dead == False:
count += 1
print("共有{}只{}。".format(count, animal_type))
def count_animals_value_by_type():
animal_type = input("请输入要统计的动物种类:")
value = 0
for animal in animal_list:
if animal.type == animal_type and animal.is_dead == False:
value += animal.price
print("{}的总价值为{}元。".format(animal_type, value))
def modify_animal_info():
id = int(input("请输入要修改的动物的ID:"))
for animal in animal_list:
if animal.id == id:
animal_type = input("请输入动物的种类:")
color = input("请输入动物的颜色:")
sex = input("请输入动物的性别:")
price = float(input("请输入动物的价格:"))
buy_date = input("请输入动物的入园时间(格式:YYYY-MM-DD):")
animal.type = animal_type
animal.color = color
animal.sex = sex
animal.price = price
animal.buy_date = buy_date
print("修改成功!")
return
print("未找到该动物!")
while True:
print("1、添加动物信息进动物园")
print("2、注销一条动物信息(死亡或卖掉)")
print("3、查询全部动物信息")
print("4、查询某种颜色的动物信息")
print("5、统计某种类型的动物信息")
print("6、统计某种类型的动物的价值")
print("7、修改某个动物的基本信息(输入id)")
print("8、退出")
choice = input("请输入要执行的操作:")
if choice == "1":
add_animal()
elif choice == "2":
delete_animal()
elif choice == "3":
show_all_animals()
elif choice == "4":
show_animals_by_color()
elif choice == "5":
count_animals_by_type()
elif choice == "6":
count_animals_value_by_type()
elif choice == "7":
modify_animal_info()
elif choice == "8":
break
else:
print("输入有误,请重新输入!")
```
这个程序可以实现菜单中的所有功能,你可以根据需要进行修改和完善。
python 面向对象的应用:完成动物Animal类(父类)编写。 具体要求: 1) 动物类的成员构成: i. 属性:动物名、叫声、食物、体重 ii. 方法:吼叫、喂食(吃)、显示信息 喂食: a) 喂老虎应该输入单词 meat,喂羊应该输入单词 grass b) 喂对了,体重加 10 斤。 喂错了,体重减少 10 斤 如果选择敲门: a) 敲房间的门,里面的动物会叫,老虎叫会显示 ‘Wow ~~’,羊叫会显示 ‘mie~~’。 b) 动物每叫一次体重减 5 斤。 2) 类的应用: i. 分别实例化一只羊,一只老虎,分别吼叫一声,喂食一次,最终结果参考下 图。
下面是实现上述要求的Animal类代码:
```python
class Animal:
def __init__(self, name, sound, food, weight):
self.name = name
self.sound = sound
self.food = food
self.weight = weight
def roar(self):
print(self.sound)
self.weight -= 5
def feed(self, food):
if food == self.food:
self.weight += 10
print("Feed successfully!")
else:
self.weight -= 10
print("Feed failed!")
def show_info(self):
print(f"Name: {self.name}")
print(f"Sound: {self.sound}")
print(f"Food: {self.food}")
print(f"Weight: {self.weight} kg")
# 实例化一只羊和一只老虎
sheep = Animal("Sheep", "mie~~", "grass", 50)
tiger = Animal("Tiger", "Wow~~", "meat", 100)
# 羊吼叫,喂食一次,显示信息
sheep.roar()
sheep.feed("meat")
sheep.show_info()
# 老虎吼叫,喂食一次,显示信息
tiger.roar()
tiger.feed("meat")
tiger.show_info()
```
输出结果为:
```
mie~~
Feed failed!
Name: Sheep
Sound: mie~~
Food: grass
Weight: 45 kg
Wow~~
Feed successfully!
Name: Tiger
Sound: Wow~~
Food: meat
Weight: 110 kg
```
阅读全文