>

질문이 읽 힙니다

다음 데이터 속성을 가진 Car라는 클래스를 작성하십시오.

__year_model (자동차의 연도 모델)

__make (자동차의 자동차 제조를 위해)

__speed (자동차의 현재 속도)

Car 클래스에는 __init__ 가 있어야합니다  자동차의 연도 모델을 수락하고 인수로 만드는 방법입니다. 또한 __speed 에 0을 할당해야합니다  데이터 속성.

클래스에는 다음과 같은 메소드도 있어야합니다.

• 가속화 가속 방법은 호출 될 때마다 속도 데이터 속성에 5를 추가해야합니다.

• 브레이크 브레이크 방법은 호출 될 때마다 속도 데이터 속성에서 5를 빼야합니다.

• get_speed get_speed 메소드는 현재 속도를 반환해야합니다

다음으로 자동차 객체를 생성 한 후 가속 방법을 다섯 번 호출하는 프로그램을 디자인하십시오. 가속 메서드를 호출 할 때마다 자동차의 현재 속도를 가져와 표시하십시오. 그런 다음 브레이크 방법을 다섯 번 호출하십시오. 브레이크 방식을 호출 할 때마다 자동차의 현재 속도를 확인하여 표시하십시오.

TypeError: __init__() missing 3 required positional arguments: 'year', 'make', and 'speed' 오류가 발생합니다

내 코드 :

#create class called car
class Car:
    def __init__(self,year,make,speed):
        self.__year_model=year
        self.__make=make
        self.__speed=0
    #set the arguments for speed,year, and make
    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
    #the returns for speed, year, and make
    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
#actuall program
#create car object
def main():
    my_car=Car()
    year=print(input('car year: '))
    make=print(input('car make: '))
    speed= print('Current speed is 0')
    #accelerate 5 times
    my_car.accelerate()
    print('My current speed:',my_car.get_speed())
    my_car.accelerate()
    print('My current speed:',my_car.get_speed())
    my_car.accelerate()
    print('My current speed:',my_car.get_speed())
    my_car.accelerate()
    print('My current speed:',my_car.get_speed())
    my_car.accelerate()
    print('My current speed:',my_car.get_speed())
    #brake five times
    my_car.brake()
    print('My current speed after brake:',my_car.get_speed())
    my_car.brake()
    print('My current speed after brake:',my_car.get_speed())
    my_car.brake()
    print('My current speed after brake:',my_car.get_speed())
    my_car.brake()
    print('My current speed after brake:',my_car.get_speed())
    my_car.brake()
    print('My current speed after brake:',my_car.get_speed())
main()


  • 답변 # 1

    오류 메시지는 정확히 무엇이 잘못되었는지 알려줍니다. Car 를 정의했습니다  세 개의 매개 변수가 필요합니다 :

    def __init__(self, year, make, speed):
    
    

    하지만 하나를 만들면 다음 중 하나를 전달하지 않습니다.

    my_car = Car()
    
    

    참조? 괄호 안에는 없습니다. 분명히 이것은 다음과 같아야합니다 :

    my_car = Car(year, make, speed)
    
    

    물론 아직 이러한 항목을 요청하지 않았기 때문에 그렇게 할 수 없습니다. my_car 를 만드십시오  이후사용자로부터 정보를 얻습니다.

  • 답변 # 2

    __init__   Car 를 위해  수업은 전달하지 않는 세 가지 주장을 취합니다.

    year=input('car year: '))
    make=input('car make: '))
    speed=0
    print'Current speed is', speed
    #actuall program
    #create car object
    def main():
    my_car=Car(year, make, speed)
    
    

    당신은 그 print 가 필요하지 않습니다   input 앞의 진술 . 나는 당신이 그 일과 어떤 관계가 있는지 잘 모르겠습니다. 또한 speed= print('Current speed is 0')  정확하지 않습니다.

    이 함수는 항상 속도를 다시 0으로 설정합니다. 원하는 경우 speed 인수를 전달할 필요가 없습니다. . init과 마찬가지로, 인수를 사용하지 않거나 사용하지 않으면 인수를 전달할 필요가 없습니다.

    def set_speed(self,speed):
        self.__speed=0
    
    

  • 답변 # 3

    class Car (object) : # car라는 클래스를 만들었습니다.     데프초기화(자기, 모델, 확인) :     self .__ model = 모델     self .__ make = 만들기     self .__ speed = 0     데프 가속 (자기) :     self .__ speed + = 5 # 5 속도 증가     데프 브레이크 (자기) :     self .__ speed-= 5 # 5 속도 감소

    def get_speed(self):
    return self.__speed #return speed
    wr_handle = open("output_04.txt", "w+")
    carObject = Car( 1984,"Chevron")
    wr_handle.write("Car is accelerating: \n")
    print("Car is accelerating:") #accelerate 5 times
    for p in range(0, 5):
    carObject.accelerate()
    my_car_speed = carObject.get_speed()
    wr_handle.write("The current speed is: %d \n"% my_car_speed)
    print("The current speed is: %d "% my_car_speed)
    wr_handle.write("Car is braking: \n")
    print("Car is braking: ") #brake 5 times
    for p in range(0,5):
    carObject.brake()
    my_car_speed = carObject.get_speed()
    wr_handle.write("The current speed is: %d \n"% my_car_speed)
    print("The current speed is: %d "% my_car_speed)
    wr_handle.write("Bye! \n")
    print("Bye! ")
    wr_handle.close()
    
    

  • 답변 # 4

    class Car (object) : # car라는 클래스를 만들었습니다.     데프초기화(자기, 모델, 확인) :         self .__ model = 모델         self .__ make = 만들기         self .__ speed = 0     데프 가속 (자기) :         self .__ speed + = 5 # 5 속도 증가

    def brake(self):
        self.__speed -= 5 #decrease 5 speed
    
    

관련 자료

  • 이전 pandas - 파이썬, int를 str로 변환, 후행/선행 10 진수/0
  • 다음 파이썬 업데이트 중첩 목록 및 값이있는 dict