Answer the question
In order to leave comments, you need to log in
How to avoid local variable referenced before assignment error?
How to avoid the error local variable 'range' referenced before assignment
I've been sitting for 30 minutes trying to turn the code around in order to fix this issue.
Either I overheated, or I don’t understand where the error is in the code ...
class Car():
"""Простая модель автомобиля."""
def __init__(self, make, model, year):
"""Инициализирует атрибуты описания автомобиля."""
self.make = make
self.model = model
self.year = year
self.odometr_reading = 0
def get_descreptive_name(self):
"""Возвращает аккуратно отформатированное описание."""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometr(self):
"""Выводит пробег машины в милях."""
print("This car has " + str(self.odometr_reading) + " miles on it.")
def update_odometr(self, mileage):
"""
Устанавливает на одометре заданное значение.
При попытке обратной подкрутки изменение отклоняется.
"""
if mileage >= self.odometr_reading:
self.odometr_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometr(self, miles):
"""Увеличивает показания одометра с заданным приращением."""
self.odometr_reading += miles
class Battery():
"""Простая модель аккумулятора электромобиля."""
def __init__(self, battery_size=60):
"""Инициализация атрибутов аккумулятора."""
self.battery_size = battery_size
def describe_battery(self):
"""Выводит информацию о мощности аккумулятора."""
print("This car has a " + str(self.battery_size) + "-kWh battery.")
def get_range(self):
"""Выводит приблизительный запас хода для аккумулятора."""
if self.battery_size == 70:
range = 240
elif self.battery_size == 85:
range = 270
message = "This car can go approximately " + str(range)
print(message)
class ElectricCar(Car):
"""Представляет аспекты машины, специфические для электромобилей."""
def __init__(self, make, model, year):
"""
Инициализирует атрибуты класса-родителя.
Затем инициализирует атрибуты, специфические для электромобиля.
"""
super().__init__(make, model, year)
self.battery = Battery()
from car import ElectricCar
my_tesla = ElectricCar('tesla', 'model s', 2018)
print(my_tesla.get_descreptive_name())
my_tesla.battery.describe_battery()
my_tesla.battery.get_range()
Answer the question
In order to leave comments, you need to log in
You
class Battery():
"""Простая модель аккумулятора электромобиля."""
def __init__(self, battery_size=60):
def get_range(self):
"""Выводит приблизительный запас хода для аккумулятора."""
if self.battery_size == 70:
range = 240
elif self.battery_size == 85:
range = 270
message = "This car can go approximately " + str(range)
print(message)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question