汽车类Python程序

新手上路,请多包涵

这是我的代码。结果,我不断收到名称错误。我应该如何解决这个问题?

车类

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 许可协议

阅读 664
2 个回答

您的代码有几个问题:

  • 您尚未创建实例: mycar = Car(year, make, speed)

  • 您已将 mycar 重命名为 my_car :即 my_car.brake()

  • 类属性被称为 self.__speed ,它不被称为 self.speed 。(加速,制动和get_speed方法)


 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

def main():

    year = input('Enter the car year: ')
    make = input('Enter the car make: ')
    speed = 0

    mycar = Car(year, make, speed)

    #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())
    mycar.brake()
    print('The current speed after brake is: ', mycar.get_speed())
    mycar.brake()
    print('The current speed after brake is: ', mycar.get_speed())
    mycar.brake()
    print('The current speed after brake is: ', mycar.get_speed())
    mycar.brake()
    print('The current speed after brake is: ', mycar.get_speed())

#Call the main function
main()

原文由 eyllanesc 发布,翻译遵循 CC BY-SA 3.0 许可协议

类车:

 def __init__(self,year,make):
    self.__year_model=year
    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

新文件

进口车

def main(): my_car = car.Car(2019,“丰田”)

 for i in range(5):
    my_car.accelerate()
    print("Speed = ",my_car.get_speed())

for i in range(5):
    my_car.brake()
    print("Speed = ",my_car.get_speed())

主要的()

原文由 Catelyn 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题