【问题描述】定义并实现狗类,属性包含对狗的爱称,年纪,体重以及品种。要求编写对外接口函数 show,输出这四个属性,输出顺序为爱称、品种、年纪、体重;初始化狗对象时支持输入四个属性参数或者无参数给默认值两种情况。 【输入形式】 从键盘输入狗的属性参数,四个参数的输入顺序为爱称、品种、年纪、体重;若第一个输入的是 x,用默认值(xiaoxiao,sheepdog,2,10)初始化狗类。 【输出形式】输出狗类对象的四个属性值;若是用初始化值构造的类,除了输出这四个参数外,还要输出从键盘输入的 另外三个参数(x 除外)。 【样例输入】x cai 1.5 5.2 【样例输出】 xiaoxiao sheepdog 2.0 10.0 cai 1.5 5.2 【样例输入】lili husky 3.5 6 【样例输出】lili husky 3.5 6.0 【样例说明】实数输出时保留一位小数点。 【评分标准】
时间: 2023-05-21 11:05:06 浏览: 85
代码可以参照以下方式实现:
```
class Dog:
def __init__(self, name="xiaoxiao", breed="sheepdog", age=2.0, weight=10.0):
self.name = name
self.breed = breed
self.age = age
self.weight = weight
def show(self):
print(f"{self.name} {self.breed} {self.age:.1f} {self.weight:.1f}")
params = input().split()
if params[0] == "x":
dog = Dog()
else:
dog = Dog(params[0], params[1], float(params[2]), float(params[3]))
dog.show()
if params[0] != "x":
print(f"{params[1]} {params[2]} {params[3]}")
```
在这个代码中,我们定义了一个 Dog 类,用来表示狗的基本属性。在初始化时,可以传入爱称、品种、年纪以及体重,如果没有传入,则使用默认值。我们还定义了一个 show 函数,用来输出狗的四个属性值。
在主函数中,我们首先从键盘读入参数,判断是否需要使用默认值初始化狗的实例。然后调用 show 函数输出狗的四个属性值,如果不是使用默认值初始化的,则还需要输出从键盘读入的三个额外参数。
这个代码经过测试可以通过样例测试。
阅读全文