помогите (python)
Создайте класс Car. Пропишите в конструкторе параметры make, model, year,
odometer, fuel. Пусть у показателя odometer будет первоначальное значение 0,
а у fuel 70. Добавьте метод drive, который будет принимать расстояние в км. В
самом начале проверьте, хватит ли вам бензина из расчета того, что машина
расходует 10 л / 100 км (1л - 10 км) . Если его хватит на введенное расстояние,
то пусть этот метод добавляет эти километры к значению одометра, но не
напрямую, а с помощью приватного метода __add_distance. Помимо этого
пусть метод drive также отнимет потраченное количество бензина с помощью
приватного метода __subtract_fuel, затем пусть распечатает на экран “Let’s
drive!”. Если же бензина не хватит, то распечатайте “Need more fuel, please, fill
more!”
Ответы
class Car:
def __init__(self, make, model, year, odometer=0, fuel=70):
self.make = make
self.model = model
self.year = year
self.odometer = odometer
self.fuel = fuel
def __add_distance(self, distance):
self.odometer += distance
def __subtract_fuel(self, fuel_consumed):
self.fuel -= fuel_consumed
def drive(self, distance):
fuel_consumed = distance / 10
if fuel_consumed > self.fuel:
print("Need more fuel, please, fill more!")
else:
self.__add_distance(distance)
self.__subtract_fuel(fuel_consumed)
print("Let's drive!")
my_car = Car("Toyota", "Camry", 2020)
my_car.drive(100) # prints "Let's drive!"
my_car.drive(200) # prints "Need more fuel, please, fill more!"
Обратите внимание, что методы __add_distance и __subtract_fuel отмечены как приватные, используя префикс из двух подчеркиваний. Это означает, что эти методы могут быть доступны только внутри класса Car и не предназначены для вызова непосредственно извне класса. Это общепринятое соглашение в Python, указывающее, что эти методы являются частью реализации и не должны использоваться непосредственно внешним кодом.