В Python в класс Battery нужно добавить метод upgrade_battery() . Он должен проверять размер батареи и устанавливать емкость 100 если она меньше 100
class Car:
"""Простая попытка смоделировать машину."""
def __init__(self, make, model, year):
"""Инициировать атрибут чтоб писует машину."""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""Вернуть отфарматированое содержимое имя """
long_name = f"{self.year} {self.make} {self.model}"
return long_name.title()
def read_odometer(self):
"""Вывести сообщение с пробегом автомобиля"""
print(f"This car has {self.odometer_reading} miles on it.")
def update_odometer(self, mileage): # 2 Способ изменить знечение .
"""
Задать значение одометра.
Отклонить измену в случае попытки отмотать показатель одометра
"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer")
def increment_odometer(self, miles):
"""Додать заданое значение до показателя одометра"""
self.odometer_reading += miles
class Battery:
"""Простая попытка смоделировать акамулятор електрокара"""
def __init__(self, battery_size=75):
"""Создать атрибуты акамулятора"""
self.battery_size = battery_size
self.full_battery = 100
def describe_battery(self):
"""Вывести сообщение про размер аккамулятора"""
print(f"This car has a {self.battery_size}-kWh battery.")
def describe_full_battery(self):
"""Вывести сообщение про размер аккамулятора"""
print(f"This car has a {self.full_battery}-kWh battery.")
def get_range(self):
"""
Вывести сообщение про растояние,
которое может проехать авто
относительно до обьема батареи.
"""
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.")
def upgrade_battery(self):
...
class ElectricCar(Car):
"""Смоделировать характеристики, присущие електрокарам"""
def __init__(self, make, model, year):
"""
Создать атрибуты базового класу
Потом создать атрибуты електроавтомобиля
"""
super().__init__(make, model, year)
self.battery = Battery()
def fill_gas_tank(self):
"""Електроавтомобили не имеют бензобаков"""
print("This car doesn't need a gas tank!")
my_tesla = ElectricCar('tesla', 'model s', 2019)
my_i3 = ElectricCar('BMW', 'i3', 2020)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
my_tesla.fill_gas_tank()
my_tesla.battery.get_range()
print(my_i3.get_descriptive_name())
my_i3.battery.get_range()
В класс Battery
нужно добавить метод upgrade_battery()
. Он должен проверять размер батареи и устанавливать емкость 100 если она меньше 100. Создать электрокар с уставным размером батареи и вызвать к нему метод get_range()
и потом вызвать get_range()
второй раз после обновления аккумулятора. В другом классе - class ElectricCar(Car)
Источник: Stack Overflow на русском