Python Forum

Full Version: NameError 'odometer' not defined
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I keep getting a name error for odometer. I am following a textbook example and I seem to have everything correct according to the book. PLEASE HELP!
class Car():
	def __init__(self, make, model, year):
		self.make = make
		self.year = year
		self.model = model
		self.odometer = 0
	
	def get_descriptive_name(self):
		long_name = str(self.year) + ' ' + self.make + ' ' + self.model
		return long_name.title()
		
	def read_odometer(self):
		print('this car has' + str(odometer) + ' miles on it.')
	
		
mycar = Car('audi', 'a4' , 2016)
print(mycar.get_descriptive_name())
mycar.odometer = 23
mycar.read_odometer()
Line 13 should have 'self.odometer' instead of 'odometer'. It's an instance attribute, so you need to reference the instance.