Python Object-Oriented Python Instant Objects Master Class

Sudhir Raghur Venkatesalu
Sudhir Raghur Venkatesalu
2,468 Points

I do get the answer when i try it in terminal. but here it throws error.Need help to fix the issue.

class RaceCar: def init(self,color,fuel_remaining,laps,**kwargs): self.color = color self.fuel_remaining = fuel_remaining self.laps = laps for att,value in kwargs.items(): setattr(self,att,value)

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

p1 = RaceCar('Red',30,0,a='b',b='c')

print(p1.color)

print(p1.run_lap(10)) print(p1.run_lap(20)) print(p1.run_lap(30))

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

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


p1 = RaceCar('Red',30,0,a='b',b='c')

print(p1.color)

print(p1.run_lap(10))
print(p1.run_lap(20))
print(p1.run_lap(30))

1 Answer

Chris Freeman
MOD
Chris Freeman
Treehouse Moderator 58,878 Points

You are very close. Two issues:

  • The default value of laps should be 0 in __init__ parameter list
  • The method run_lap does not need a return statement. The self.fuel_remaining should be modified in-place by subtracting (length * 0.125).

Post back if you need more help. Good luck.