老师,麻烦帮我看一下课后作业输出这样,是什么原因
来源: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()
相似问题