我不明白出了什么问题。这是我的代码:
rownum
这是我的代码的输出:
class CarClass(object):
def __init__(self,year_model,make):
self.__year_model=year_model
self.__make=make
self.__speed=0
def accelerate(self):
self.__speed+=5
def brake(self):
self.__speed-=5
def get_speed(self):
return self.__speed
#create car1 object
car1=CarClass(2013,'TATA')
#updates speed of car
car1.accelerate()
print('The current speeed is:')
car1.get_speed()
car1.accelerate()
car1.accelerate()
print('The current speeed is:')
car1.get_speed()
car1.accelerate()
car1.accelerate()
print('The current speeed is:')
car1.get_speed()
car1.accelerate()
car1.accelerate()
print('The current speeed is:')
car1.get_speed()
car1.accelerate()
它应该在每次增加5次时显示速度,但它不显示任何速度。我一直在研究这段代码,但是没有取得任何进展。
答案 0 :(得分:1)
当你在python解释器中键入car1.get_speed()
时,你可以获得返回的值,但是当你运行一个程序时,你需要像这样显式打印它,例如:
print('The current speeed is:'+str(car1.get_speed()))
(否则,如果忽略返回代码,所有返回None
以外的方法的所有方法都会在控制台中打印很多废话。
答案 1 :(得分:1)
以下是您的代码的工作示例:
class CarClass(object):
def __init__(self, year_model, make):
self.__year_model = year_model
self.__make = make
self.__speed = 0
def accelerate(self):
self.__speed += 5
def brake(self):
self.__speed -= 5
def get_speed(self):
return self.__speed
# create car1 object
car1 = CarClass(2013, 'TATA')
# updates speed of car
for i in range(4):
car1.accelerate()
print('The current speeed is: {0}'.format(car1.get_speed()))
car1.accelerate()
正如你所看到的,现在它在加速后打印汽车的速度,你忘了打印它。另外,尽量避免copy & paste代码块,这是反模式。