标粗的地方我感觉逻辑没错,但是结果正好相反,有汽车品牌的时候,输出的是:请填写正确相关车辆信息

标粗的地方我感觉逻辑没错,但是结果正好相反,有汽车品牌的时候,输出的是:请填写正确相关车辆信息

class Car(object):
    def __init__(self, l, w, h, brand):
        self.L = l
        self.W = w
        self.H = h
        self.brand = brand  # Car类的基本车型设置,列表形式

    description = ["大众", "丰田", "广本", "沃尔沃", "凯迪拉克"]  # 重写该类的构造方法,并将参数l、w、h、brand赋值给实例对象属性

  •     def modify_des(self):
            if self.brand != "":
                return 1

            else:
                print("请输入您的车辆描述")

    # 自定义该类的基本车型检索方法

    @staticmethod
    def basic_parameters():
        print("已完成车辆基本参数信息的入录")  # 自定义静态方法 提示用户:‘已完成车辆基本参数信息的录入!’

    @classmethod
    def upkeep(cls,desc):
        if desc in cls.description:
            print("根据汽车保养的相关经验,{}品牌的车应于5000km/次的频率进行专业性保养".format(desc))
        else:
            print("非常抱歉!{}品牌不在我们的保养范围内".format(desc))
    # 自定义类方法 根据用户车辆的品牌给出相应的合理保养建议


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

car_1.basic_parameters()  # 调用实例方法:basic_parameters()

if car_1.modify_des == 1:
    Car.upkeep(car_1.brand)

else:
    print("请正确填写相关的车辆信")
# 利用if语句,调用modify_des()以判断Car的类属性description是否存在

# 若if判断条件成立 则调用类方法upkeep()并将对应实例的brand属性传递给参数desc

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

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

car_2.basic_parameters()  # 调用实例方法:basic_parameters()

if car_2.modify_des == 1:
    car_2.upkeep(car_2.brand)
else:
    print("请正确填写相关的车辆信")  #


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

http://img1.sycdn.imooc.com//climg/5f86599409a3d5a704790260.jpg

同学你好,def modify_des(self)中要对车辆的品牌进行判断,是否包含在description中,

在调用时直接

http://img1.sycdn.imooc.com//climg/5f88031e095f376402820117.jpg

就可以了。如果我的回答解决了你的疑惑,请采纳,祝学习愉快~~~~  

  • 戴培霖 提问者 #1
    如果用我的那个方法,我觉得也没有问题啊,但是就是不知道哪里逻辑不对,输出结果正好相反
    2020-10-15 13:47:21
  • 好帮手慕雪 回复 提问者 戴培霖 #2
    调用方法时要写全,例如car_1.modify_des(),括号不能缺少
    2020-10-15 16:09:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师