这是我的代码。结果,我不断收到名称错误。我应该如何解决这个问题?
车类
class Car:
def __init__(self, year, make, speed):
self.__year_model = year
self.__make = make
self.__speed = 0
def set_year_model(self, year):
self.__year_model = year
def set_make(self, make):
self.__make = make
def set_speed(self, speed):
self.__speed = 0
def get_year_model(self):
return self.__year_model
def get_make(self):
return self.__make
def get_speed(self):
return self.__speed
#methods
def accelerate(self):
self.speed +=5
def brake(self):
self.speed -=5
def get_speed(self):
return self.speed
程序
import Lab9_prob2
def main():
year = input('Enter the car year: ')
make = input('Enter the car make: ')
speed = 0
#Accelerate 5 times
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
#Brake 5 times
mycar.brake()
print('The current speed after brake is: ', mycar.get_speed())
my_car.brake()
print('The current speed after brake is: ', mycar.get_speed())
my_car.brake()
print('The current speed after brake is: ', mycar.get_speed())
my_car.brake()
print('The current speed after brake is: ', mycar.get_speed())
my_car.brake()
print('The current speed after brake is: ', mycar.get_speed())
#Call the main function
main()
原文由 canigetanohyeah 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的代码有几个问题:
您尚未创建实例:
mycar = Car(year, make, speed)
您已将
mycar
重命名为my_car
:即my_car.brake()
类属性被称为
self.__speed
,它不被称为self.speed
。(加速,制动和get_speed方法)