Python Object-Oriented Python Instant Objects Master Class

Mischa Potter
Mischa Potter
1,488 Points

OK, now let's handle the racecar running laps. Add a laps attribute to the RaceCar class and set it to 0. Add a method n

What is wrong with my code?

racecar.py
class RaceCar:
    def __init__(self, color, fuel_remaining, laps, **kwargs):
        self.color = color
        self.fuel_remaining = fuel_remaining
        self.laps = laps
        laps = 0

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


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

1 Answer

Jassim Al-Hatem
Jassim Al-Hatem
12,353 Points

Add a 'laps' attribute to the RaceCar class and set it to 0

Since it's a class attribute it should be outside of a class method. Not inside one. And the for loop should be inside init.

class RaceCar:
    laps = 0

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

        for keys, values in kwargs.items():
            setattr(self, keys, values)

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