I get the error below when I run my code. It says unbound local error:
Could someone explain what I am missing please?
class Car:
"""A simple attempt to represent a car. """
def __init__(self, make, model, year):
"""Initialize attributes to describe a car."""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""Return a neatly formatted descriptive name."""
long_name =f"{self.year} {self.make} {self.model}"
return long_name.title()
def read_odometer(self):
"""Print a statement showing the car's mileage."""
print(f"This car has {self.odometer_reading} miles on it. ")
def update_odometer(self, mileage):
"""Set the odometer reading to the given value."""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
"""Add the given amount to the odometer reading."""
self.odometer_reading += miles
#moving battery attributes from electric cars to a separate class for
class Battery:
def __init__(self, battery_size):
"""Print a statement describing the battery size."""
self.battery_size = battery_size
self.battery_size = [100, 75]
def describe_battery(self):
"""Print a statement describing the battery size."""
print(f"This car has a {self.battery_size}-kwh battery.")
def get_range(self):
"""Print a statement about the range this battery provides."""
if self.battery_size == 75:
range = 260
elif self.battery_size == 100:
range = 315
print(f"This car can go about {range} miles on a full charge.")
#Electric car subclass
class ElectricCar(Car):
"""Represent aspects of a car, specific to electric vehicles."""
def __init__(self, make, model, year):
"""Initialize attributes of the parent class.
Then initialize the attributes of the parent class"""
super().__init__(make, model, year)
self.battery = Battery([])
def fill_gas_tank(self):
"""Electric cars don't have gas tanks."""
print("This car does not need a gas tank!")
my_tesla = ElectricCar('tesla', 'model s', 2019)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
my_tesla.battery.get_range()
This car has a []-kwh battery. Traceback (most recent call last): File "electric_car02.py", line 82, in my_tesla.battery.get_range() File "electric_car02.py", line 48, in get_range print(f"This car can go about {range} miles on a full charge.") UnboundLocalError: local variable 'range' referenced before assignment
Please, I am still very new to Python, so would really appreciate your dumbing it down for me.. Thanks.