Michael Crowley1,352 Points
Object-Oriented Python: Master Class Challenge Task 2
I'm having trouble figuring out the issue with my code below; receiving an error "Bummer: Try again!" but not much detail outside of that.
I've tried manipulating the run_lap function a few different ways:
- Using fuel_remaining instead of self.fuel_remaining
- Returning the value of fuel_remaining
- Using self.laps instead of laps
I haven't had any luck with these. Any insight would be much appreciated!
class RaceCar: laps = 0 def __init__(self, color, fuel_remaining, **kwargs): self.color = color self.fuel_remaining = fuel_remaining for key, value in kwargs.items(): setattr(self, key, value) def run_lap(length): self.fuel_remaining -= (length * 0.125) laps += 1
Julian Addison13,298 Points
So, you've basically solved the challenge, the one mistake is the scope of the
laps attribute. Within your run_lap method, you just have to make sure to reference the
self keyword. Otherwise, when you try to run the method, python will think that you are creating a new local variable
laps and you'll get an error like
UnboundLocalError: local variable 'laps' referenced before assignment.
self.laps += 1