汽车类程序没有显示更新的速度

时间:2016-08-16 21:20:30

标签: python class

我不明白出了什么问题。这是我的代码:

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次时显示速度,但它不显示任何速度。我一直在研究这段代码,但是没有取得任何进展。

2 个答案:

答案 0 :(得分:1)

当你在python解释器中键入car1.get_speed()时,你可以获得返回的值,但是当你运行一个程序时,你需要像这样显式打印它,例如:

print('The current speeed is:'+str(car1.get_sp‌​eed()))

(否则,如果忽略返回代码,所有返回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代码块,这是反模式。