老师帮我看看,还有哪些地方需要改进的

来源:1-7 编程练习

3三哥

2019-09-27 17:23:18

class Vehicle(object):

    # 自定义Vehicle类属性
    def __init__(self, speed, size, trans_type='SUV'):
        self.speed = speed
        self.size = size
        self.trans_type = trans_type

    # # 自定义实例的初始化方法
    # def ojbk(self):
    #     self.speed = 10
    #     self.size = (0.0, 0.0, 0.0)

    # 自定义实例方法show_info,打印实例的速度和体积
    def show_info(self):
        print("我的所属类型为:{0}, 速度:{1}km/h, 体积:{2}".format(self.trans_type, self.speed, self.size))

    # 自定义实例方法move,打印“我已向前移动了50米”
    def set_move(self, m):
        print("我已向前移动了 {}米".format(m))

    # 自定义实例方法set_speed,设置对应的速度值
    def set_speed(self, speed):
        self.speed = speed
        return self.speed

    # 自定义实例方法get_speed,打印当前的速度值
    def get_speed(self):
        self.speed = self.speed
        print("我的时速为:设置的速度值 {}km/h".format(self.speed))

    # 自定义实例方法speed_up,实现对实例的加速
    def speed_up(self):
        speed_up = self.speed + 10
        print("我的速度由{0} km/提升到了{1} km/h".format(self.speed, speed_up))
        return speed_up

    # 自定义实例方法speed_down,实现对实例的减速
    def speed_down(self):
        speed_down = self.speed - 5
        print("我的速度由{0} km/下降到了{1} km/h".format(self.speed, speed_down))
        return speed_down

    # 自定义实例方法transport_identify,实现对实例所属类型的判断
    def transport_identify(self, x):
        if isinstance(x, Vehicle):
            print("类型匹配")
        else:
            print("类型不匹配")


if __name__ == "__main__":
    tool_1 = Vehicle(20, (3.6, 1.9, 1.75))

    # 调用实例方法 打印实例的速度和体积
    tool_1.show_info()

    # 调用实例方法 实现实例的前移
    tool_1.set_move(50)

    tool_1.set_speed(40)
    # 调用实例方法 打印当前速度
    tool_1.get_speed()

    # 调用实例方法 对实例进行加速
    tool_1.speed_up()

    # 调用实例方法 对实例进行减速
    tool_1.speed_down()

    # 调用实例方法 判断当前实例的类型
    tool_1.transport_identify(tool_1)


写回答

2回答

好帮手乔木

2019-09-27

同学你好:

同学的练习大致没有什么问题。

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

trans_type题目要求为类属性。

因此构造方法:

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

即可。

如果我解决了同学的问题,请采纳!学习愉快^_^。

0

3三哥

提问者

2019-09-27

"""发现了问题,速度实际上没返回,降低速度不是在加速后的值降低

现在修改了如下:"""


class Vehicle(object):

   # 自定义Vehicle类属性
   def __init__(self, speed, size, trans_type='SUV'):
       self.speed = speed
       self.size = size
       self.trans_type = trans_type

   # 自定义实例方法show_info,打印实例的速度和体积
   def show_info(self):
       print("我的所属类型为:{0}, 速度:{1}km/h, 体积:{2}".format(self.trans_type, self.speed, self.size))

   # 自定义实例方法move,打印“我已向前移动了50米”
   def set_move(self, m):
       print("我已向前移动了 {}米".format(m))

   # 自定义实例方法set_speed,设置对应的速度值
   def set_speed(self, speed):
       self.speed = speed
       return self.speed

   # 自定义实例方法get_speed,打印当前的速度值
   def get_speed(self):
       self.speed = self.speed
       print("我的时速为:设置的速度值 {}km/h".format(self.speed))

   # 自定义实例方法speed_up,实现对实例的加速
   def speed_up(self):
       self.speed += 10
       print("我的速度由{0} km/提升到了{1} km/h".format(self.speed -10, self.speed))

   # 自定义实例方法speed_down,实现对实例的减速
   def speed_down(self):
       self.speed -= 15
       print("我的速度由{0} km/下降到了{1} km/h".format(self.speed + 15, self.speed))

   # 自定义实例方法transport_identify,实现对实例所属类型的判断
   def transport_identify(self, x):
       if isinstance(x, Vehicle):
           print("类型匹配")
       else:
           print("类型不匹配")


if __name__ == "__main__":
   tool_1 = Vehicle(20, (3.6, 1.9, 1.75))

   # 调用实例方法 打印实例的速度和体积
   tool_1.show_info()

   # 调用实例方法 实现实例的前移
   tool_1.set_move(50)

   tool_1.set_speed(40)
   # 调用实例方法 打印当前速度
   tool_1.get_speed()

   # 调用实例方法 对实例进行加速
   tool_1.speed_up()

   # 调用实例方法 对实例进行减速
   tool_1.speed_down()

   # 调用实例方法 判断当前实例的类型
   tool_1.transport_identify(tool_1)



0

0 学习 · 8160 问题

查看课程