Overriding methods - Why is my code not working?


#1



https://www.codecademy.com/courses/python-intermediate-en-egNXj/1/4?curriculum_id=4f89dab3d788890003000096#


My code doesn't throw any errors, but instead of returning new-used-new-like new, it returns new-used-new-new


class Car(object):
    condition = "new"
    def __init__(self, model, color, mpg):
        self.model = model
        self.color = color
        self.mpg   = mpg
    
    def display_car(self):
        print "This is a %s %s with %s MPG." % (self.color, self.model, self.mpg)
    
    def drive_car(self):
        self.condition = "used"

my_car = Car("Chevy", "red", 100)

print my_car.condition
my_car.drive_car()
print my_car.condition

class ElectricCar(Car):
    def __init__(self, model, color, mpg, battery_type):
        self.model = model
        self.color = color
        self.mpg = mpg
        self.battery_type = battery_type
    
    def drive_car(self):
        self.conditon = "like new"

my_car = ElectricCar("DeLorean","silver",88,"molten salt")
print my_car.condition
my_car.drive_car()
print my_car.condition


#2

There is a typo in drive_car() method.
check that (inside ElectricCar() )


#3

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.