Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Object-Oriented Python Instant Objects Master Class

Nick Twum
Nick Twum
1,547 Points

I need help with this challenge

It's given me "Bummer: Try Again" and I'm not sure when I'm doing wrong. Help will be appreciated, Thanks!

racecar.py
class RaceCar:
    def __init__(self, color, fuel_remaining, laps, **kwargs):
        self.color = color
        self.fuel_remaining = fuel_remaining
        self.laps = 0
        for key,value in kwargs.items():
            setattr(self, key, value)

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

1 Answer

Steven Parker
Steven Parker
231,236 Points

Only one "return" can be done in a method, and any code after it will never be performed. And since this method doesn't need to return any specific value so it doesn't need a "return" at all.

Also, "laps" should not be an argument for "__init__" (it's always set to 0).

Nick Twum
Nick Twum
1,547 Points

i'm still confused. Can you post an example code

Nick Twum
Nick Twum
1,547 Points

i put laps = 0 before the def init code

Steven Parker
Steven Parker
231,236 Points

The setting of laps was fine as it was, it just should not be in the argument list (on line 2).