老师,您帮忙看看我这代码有什么问题?

来源:3-7 编程练习

WU_JIE

2019-12-22 17:59:50

class Car(object):
   # Car类的基本车型设置,列表形式
   description = ['大众','丰田','广本','沃尔沃','凯迪拉克']
   # 重写该类的构造方法,并将参数l、w、h、brand赋值给实例对象属性
   def __init__(self, L, W, H, brand):
       self.L = L
       self.W = W
       self.H = H
       self.brand = brand
   # 自定义该类的基本车型检索方法
   def modify_des(self):
       if self.brand in Car.description:
           return 1
       else:
           return '请输入您的车辆描述'
   # 自定义静态方法 提示用户:‘已完成车辆基本参数信息的录入!’
   @staticmethod
   def basic_parameters(self):
       print('已完成车辆基本参数信息的录入')
   # 自定义类方法 根据用户车辆的品牌给出相应的合理保养建议
   def upkeep(self, desc):
       if desc in Car.description:
           print('根据汽车保养的相关经验,{0}品牌的车应于5000km、次的频率进行专业性保养'.format(desc))
       else:
           print('非常抱歉!{0}品牌不在我们的保养范围内')

car_1 = Car(4.2, 1.8, 1.5, '大众')

# 调用实例方法:basic_parameters()
car_1.basic_parameters()
# 利用if语句,调用modify_des()以判断Car的类属性description是否存在
car_1.desc = car_1.brand
if car_1.modify_des() == 1:
   car_1.upkeep(car_1.desc)
else:
   print("请正确填写相关的车辆信息")
   # 若if判断条件成立 则调用类方法upkeep()并将对应实例的brand属性传递给参数desc

# 当if语句的判断条件不成立时,打印输出并提示用户:‘请正确填写相关的车辆信息’

car_2 = Car(4.2, 1.8, 1.5, '保时捷')

# 调用实例方法:basic_parameters()
car_2.basic_paramaters()
# 利用if语句,调用modify_des()以判断Car的类属性description是否存在
car_2.desc = car_2.brand
if car_2.modify_des() == 1:
   car_2.upkeep(car_2.desc)
else:
   car_2.upkeep(car_2.desc)
   print("请正确填写相关的车辆信息")
   # 若if判断条件成立,则调用类方法upkeep()并将对应实例的brand属性传递给参数desc

# 当if语句的判断条件不成立时,打印输出并提示用户:‘请正确填写相关的车辆信息’

写回答

1回答

时间,

2019-12-22

同学,你好。

1、静态方法不需要多定义参数('self'或'cls')。

http://img.mukewang.com/climg/5dff489a097bada504540103.jpg

2、在car_2调用静态方法时,方法名写错

http://img.mukewang.com/climg/5dff48ab09148e2203910082.jpg

3、upkeep()方法中缺少format格式化

http://img.mukewang.com/climg/5dff491e09ab058b09140212.jpg

4、modify_des ( )方法是判断类属性description是否存在,若存在,直接返回;反之,返回“请输入您的车辆描述”。同学判断的是输入的brand是否在description中。

http://img.mukewang.com/climg/5dff4b5409c97fd304370179.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 8160 问题

查看课程