Class Method Typeerror "int Object Not Callable"
TypeError: 'int' object is not callable class Car():          def __init__(self, make, model, year):         '''initialize attribuites to describe a car'''         self.make = make
Solution 1:
As mentioned you define a name for an increment_odometer object in the __init__ and later define a method with the same name. Just remove the self.increment_odometer = 0 in the __init__
class Car():
    def __init__(self, make, model, year):
        """initialize attribuites to describe a car"""
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0
        # self.increment_odometer = 0 ----> remove this line
    def update_odometer(self, mileage):
        """
        Set the odometer reading to the given value.
        Reject the change if it attempts to roll the odometer back.
        """
        if mileage >= self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("You cannot roll back the odometer.")
    def read_odometer(self):
        """print at statement which shows the car's miles"""
        print("This car has " + str(self.odometer_reading) + " " + "miles on it.")
    def get_descriptive_name(self):
        """Return a neatly formatted descriptive name."""
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()
    def increment_odometer(self, miles):
        """Add the given amount to the odometer reading."""
        self.odometer_reading += miles
my_old_car = Car ('subaru', 'outback', 2013)
print (my_old_car.get_descriptive_name())
my_old_car.update_odometer(23500)
my_old_car.read_odometer()
my_old_car.increment_odometer(100)
my_old_car.read_odometer()
Post a Comment for "Class Method Typeerror "int Object Not Callable""