Python Object-Oriented Python Instant Objects Master Class

jayda hendrickson
jayda hendrickson
2,545 Points


For some reason when I put this in my workspace it keeps saying the increment symbol is wrong but I don't understand how, also if you see anything else wrong with my code please let me know
class RaceCar:
    laps = 0

    def __init__(self, color, fuel_remaining,laps=0, **kwargs):
        self.color= color
        self.fuel_remaining= fuel_remaining
        self.laps= laps

        for key, value in kwargs.items():
            setattr(self, key, value)

    def run_lap(length):
        self.fuel_remaining-(length * 0.125)
        self.laps += 1
Amitai Zand
Amitai Zand
7,997 Points

The self.laps += 1 looks correct, it may just be that the program stops running and throws an error when it encounters a typo in the decrement operator in the preceding line, where it is currently written with - instead of -=. Try this:

def run_lap(length):
        self.fuel_remaining -= (length * 0.125)
        self.laps += 1

1 Answer

Jennifer Nordell
Jennifer Nordell
Treehouse Staff

Hi there, jayda hendrickson ! Looks like you're doing well. The problem here isn't really the incrementing. It's that your run_lap() method doesn't have access to self. Remember to pass in self, length in the definition of the method. Also, you will want to make sure that you are updating self.fuel_remaining. So you would need:

self.fuel_remaining -= length * 0.125

Hope this helps! :sparkles: