实现在水池里养若干只乌龟和若干条鱼的功能。(阅读下面的代码,并注释) 要求: 1、创建动物类(名称属性) 2、创建水池类: 1)类属性dic(字典类型),用于存放水池里各种动物及只数。 类属性lis(列表类型),用于存放动物的名称和内存分配空间地址。 2)养多只动物的方法 ① 读取字典数据,显示“水池里原来有n只x动物” ② 在方法内部,创建动物实例。并将动物的名称及动物实例地址存入列表lis。 ③ 根据添加,重新修改字典内该动物名称(键)所对应的只数(值)。 ④ 显示"水池里新增了m只x动物”, "水池里一共有n+m只x动物” 3)计算动物总数的方法 对字典中的值求和,显示“水池里一共养了t只动物"
时间: 2024-02-15 14:05:12 浏览: 120
YOLOV5 实战项目:水池浮鱼检测(包含数据、代码、训练好的权重文件)
好的,这是您的问题:
首先,我们可以创建动物类,如下所示:
```python
class Animal:
def __init__(self, name):
self.name = name
```
然后,我们可以创建水池类,如下所示:
```python
class WaterTank:
dic = {}
lis = []
def add_animals(self, name, num):
if name in self.dic:
print(f"水池里原来有 {self.dic[name]} 只 {name} 动物")
else:
self.dic[name] = 0
for i in range(num):
animal = Animal(name)
self.lis.append((name, animal))
self.dic[name] += 1
print(f"水池里新增了 {num} 只 {name} 动物")
print(f"水池里一共有 {sum(self.dic.values())} 只动物")
def count_animals(self):
total = sum(self.dic.values())
print(f"水池里一共养了 {total} 只动物")
```
在上述代码中,我们定义了一个 WaterTank 类。这个类有一个类属性 dic,用于存放水池里各种动物及只数;有一个类属性 lis,用于存放动物的名称和内存分配空间地址。
WaterTank 类还有两个方法:
- add_animals 方法:添加动物到水池中。在该方法中,我们首先检查水池里是否已经有该种动物,如果有则输出该种动物的数量。然后,我们创建动物实例,并将动物的名称及动物实例地址存入列表 lis。接着,我们根据添加,重新修改字典内该动物名称(键)所对应的只数(值)。最后,输出新增动物数量和水池中总动物数量。
- count_animals 方法:计算水池中所有动物的数量,并输出。
下面是一些使用示例:
```python
# 创建一个水池实例
wt = WaterTank()
# 添加 3 只乌龟
wt.add_animals('乌龟', 3)
# 添加 5 条鱼
wt.add_animals('鱼', 5)
# 再添加 2 只乌龟
wt.add_animals('乌龟', 2)
# 计算水池中所有动物的数量
wt.count_animals()
```
运行上述代码,输出如下:
```
水池里新增了 3 只 乌龟 动物
水池里一共有 3 只动物
水池里新增了 5 只 鱼 动物
水池里一共有 8 只动物
水池里原来有 3 只 乌龟 动物
水池里新增了 2 只 乌龟 动物
水池里一共有 10 只动物
水池里一共养了 10 只动物
```
阅读全文