老师,麻烦帮我看一下课后作业输出这样,是什么原因
来源:1-6 选择练习
dba菜鸟
2019-10-07 00:31:41
class Vehicle(object):
# 自定义Vehicle类属性
Vehicle = '交通工具'
# 自定义实例的初始化方法
def __init__(self, speed, size, trans_type = 'SUV'):
self.trans_type = trans_type
self.__speed = speed
self.size = size
# 自定义实例方法show_info,打印实例的速度和体积
def show_info(self):
rest = '我的所属类型为:{0},速度{1},体积:{2}'.format(self.trans_type, self.__speed, self.size)
print(rest)
return rest
# 自定义实例方法move,打印“我已向前移动了50米”
def move(self):
print('我已向前移动了50米')
# 自定义实例方法set_speed,设置对应的速度值
def set_speed(self, speed):
self.__speed = speed
# 自定义实例方法get_speed,打印当前的速度值
def get_speed(self):
print('我的时速为:{0}km/h'.format(self.__speed))
# 自定义实例方法speed_up,实现对实例的加速
def speed_up(self):
print('我的速度由{0}km/提升到了{1}km/h'.format(self.set_speed, self.get_speed))
# 自定义实例方法speed_down,实现对实例的减速
def speed_down(self):
print('我的速度由{0}km/下降到了{1}km/h'.format(self.get_speed, self.set_speed))
# 自定义实例方法transport_identify,实现对实例所属类型的判断
def transport_identify(self):
if isinstance(tool_1, Vehicle):
print('类型匹配')
else:
print('类型不匹配')
if __name__ == "__main__":
tool_1 = Vehicle(20, (3.6, 1.9, 1.75))
# 调用实例方法 打印实例的速度和体积
tool_1.show_info()
# 调用实例方法 实现实例的前移
tool_1.move()
tool_1.set_speed(40)
# 调用实例方法 打印当前速度
tool_1.get_speed()
# 调用实例方法 对实例进行加速
tool_1.speed_up()
# 调用实例方法 对实例进行减速
tool_1.speed_down()
# 调用实例方法 判断当前实例的类型
tool_1.transport_identify()
3回答
好帮手乔木
2019-10-09
同学你好:
出现问题:
1 设置类属性trans_type(固定值为'SUV')
定义类属性,未按照题目要求

2 定义speed_up()方法,设置每次调用时实例的速度都增加10km/h,并打印“我的速度由xx km/提升到了xx km/h”
定义speed_down()方法,设置每次调用时实例的速度都降低15km/h,并打印“我的速度由xx km/下降到了xx km/h”
同学的方法未完成。

3 自定义方法 transport_identify( ),判断实例(在类的自定义方法中,self代表类的实例对象)是否为Vehicle类型

参考:
class Vehicle(object):
# 自定义Vehicle类属性
trans_type = 'SUV'
# 自定义实例的初始化方法
def __init__(self,speed,size=()):
self.speed = int(speed)
self.size = size
# 自定义实例方法show_info,打印实例的速度和体积
def show_info(self):
print("我所属的类型:{},速度:{},体积:{}".format(self.trans_type,self.speed, self.size))
# 自定义实例方法move,打印“我已向前移动了50米”
def move(self):
print("我已向前移动了50米")
# 自定义实例方法set_speed,设置对应的速度值
def set_speed(self, newspeed):
self.speed = newspeed
# 自定义实例方法get_speed,打印当前的速度值
def get_speed(self):
print("我的时速为:{}".format(self.speed))
# 自定义实例方法speed_up,实现对实例的加速
def speed_up(self):
speed = self.speed + 10
print("我的速度由{}km/h提升到了{}km/h".format(self.speed, speed))
self.speed = speed
# 自定义实例方法speed_down,实现对实例的减速
def speed_down(self):
speed = self.speed - 15
print("我的速度由{}km/h下降到了{}km/h".format(self.speed, speed))
self.speed = speed
# 自定义实例方法transport_identify,实现对实例所属类型的判断
def transport_identify(self):
if isinstance(self, Vehicle):
print("类型匹配")
else:
print("类型不匹配")
if __name__ == "__main__":
tool_1 = Vehicle(20, (3.6, 1.9, 1.75))
# 调用实例方法 打印实例的速度和体积
tool_1.show_info()
# 调用实例方法 实现实例的前移
tool_1.move()
tool_1.set_speed(40)
# 调用实例方法 打印当前速度
tool_1.get_speed()
# 调用实例方法 对实例进行加速
tool_1.speed_up()
# 调用实例方法 对实例进行减速
tool_1.speed_down()
# 调用实例方法 判断当前实例的类型
tool_1.transport_identify()如果我解决了同学的问题,请采纳!学习愉快^_^。
white_lie
2019-10-09
仔细一看,问题还是很多的,你对比一下看看
class Vehicle(object):
# 自定义Vehicle类属性
trans_type = '交通工具'
# 自定义实例的初始化方法
def __init__(self, speed, size):
self.__speed = int(speed)
self.size = size
# 自定义实例方法show_info,打印实例的速度和体积
def show_info(self):
rest = '我的所属类型为:{0},速度:{1} km/h,体积:{2}'.format(self.trans_type, self.__speed, self.size)
print(rest)
# return rest
# 自定义实例方法move,打印“我已向前移动了50米”
def move(self):
print('我已向前移动了50米')
# 自定义实例方法set_speed,设置对应的速度值
def set_speed(self, new_speed):
self.__speed = int(new_speed)
# 自定义实例方法get_speed,打印当前的速度值
def get_speed(self):
print('我的时速为:{0}km/h'.format(self.__speed))
# 自定义实例方法speed_up,实现对实例的加速
def speed_up(self):
new_speed = self.__speed + 10
print("我的速度由{0}km/h提升到了{1}km/h".format(self.__speed, new_speed))
self.__speed = new_speed
# 自定义实例方法speed_down,实现对实例的减速
def speed_down(self):
new_speed = self.__speed - 15
print("我的速度由{0}km/h下降到了{1}km/h".format(self.__speed, new_speed))
self.__speed = new_speed
# 自定义实例方法transport_identify,实现对实例所属类型的判断
def transport_identify(self):
if isinstance(self, Vehicle):
print('类型匹配')
else:
print('类型不匹配')
if __name__ == "__main__":
tool_1 = Vehicle(20, (3.6, 1.9, 1.75))
# 调用实例方法 打印实例的速度和体积
tool_1.show_info()
# 调用实例方法 实现实例的前移
tool_1.move()
tool_1.set_speed(40)
# 调用实例方法 打印当前速度
tool_1.get_speed()
# 调用实例方法 对实例进行加速
tool_1.speed_up()
# 调用实例方法 对实例进行减速
tool_1.speed_down()
# 调用实例方法 判断当前实例的类型
tool_1.transport_identify()
white_lie
2019-10-08
函数speed_up和函数speed_down中调用的函数get_speed后没加括号
函数get_speed是输出,并非return返回字符串
修改建议:
将get_speed函数调整为return所需字符串,并将函数speed_up和函数speed_down中调用的实参改为self.get_speed()
相似问题