羊 老虎 饲养员 animal=random.choice([Tiger,Sheep]) 该animal类型是对象
# 羊 老虎 饲养员 import random # 基类 class Animal(): # 属性 def __init__(self,animal,w,call,food,room_num): self._animal=animal self._w=w self._call=call self._food=food self._room_num=room_num # 动作 吃 def eat(self,food): print(f'{self._animal}吃了{food},当前的体重是{self._w}') # 动作 叫 def call(self): print(f'{self._animal}叫了{self._call},当前的体重是{self._w}') def get_w(self): print(f'在第{self._room_num}房间,{self._animal},当前的体重是{self._w}') return self._w # 继承基类 class Tiger(Animal): # 属性赋值 def __init__(self,room_num): super().__init__('tiger',200,'wow','meat',room_num) class Sheep(Animal): # 属性赋值 def __init__(self,room_num): super().__init__('sheep',100,'mie','grass',room_num) class Keeper(): # 属性赋值 def __init__(self): # 字典{房间号:动物具体的对象} self._rooms={} def put_animal(self): # 10个房间10个动物 for room_num in range(1,11): # 动物有两种 随机放 animal=random.choice([Tiger,Sheep]) # 追加到字典 self._rooms[room_num] = animal(room_num) return self._rooms def keep(self): # 对10个动物喂养 for room_num,animal in self._rooms.items(): animal.get_w() animal.call() animal.eat(animal._food) k=Keeper() k.put_animal() k.keep()