This is probably a very easy fix that I am missing. In class I am working on object manipulation. I have built the following program to take two user inputs and display a speed at the end of the program. I have tweaked the program multiple times but keep getting the following error message: "local variable "car" referenced before assignment.
class Car:
# accepts arguments for car's year model,make,speed
def __init__(self,year,make,speed):
self.__year_model=year
self.__make=make
self.__speed=speed
# set mutators
def set_year_model(self,year):
self.__year=year
def set__make(self,make):
self.__make=make
def set__speed(self,speed):
self.__speed=0
# get returns
def get_year_model(self):
return self.__year
def get_make(self):
return self.__make
def get__speed(self):
return self.__speed
# movement methods
def accelerate(self):
self.speed +=5
def brake(self):
self.speed -=5
def get_speed(self):
return self.__speed
# This program imports car class and utilizes it to display
# speed of car to user
import Car
def main():
year= input("Car Year: ")
make= input("Car Make: ")
car= car.Car(year,make,get_speed)
for count in range(5):
car.accelerate()
print("The current speed is: ", car.get_speed())
for count in range(5):
car.brake()
print("The current speed is now: ", car.get_speed())
main()
Current output (file names removed for privacy):
Car Year: 1976
Car Make: TOY
Traceback (most recent call last):
File , line 18, in <module>
main()
File , line 9, in main
car= car.Car(year,make,get_speed)
UnboundLocalError: local variable 'car' referenced before assignment