"""
class vehicle:
def __init__(self, make, model, year, weight):
self.make = make
self.model = model
self.year = year
self.weight = weight
self.NeedsMaintenance = False
self.TripsSinceMaintenance = int(0)
def __str__(self):
return str(self.__class__) + ": " + str(self.__dict__)
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.make + ' ' + self.model + ' ' + self.weight
return long_name.title()
def increment_TripsSinceMaintenance(self, Trips):
self.TripsSinceMaintenance_reading += Trips
def update_TripsSinceMaintenance(self, TripsRecorded):
if TripsRecorded >= self.TripsSinceMaintenance_reading:
self.TripsSinceMaintenance_reading = TripsRecorded
def read_TripsSinceMaintence(self):
print("This car has made " + str(self.TripsSinceMaintenance_reading) + " trips up to now.")
class car(vehicle):
def __init__(self, make, model, year, weight, drive, stop,):
vehicle.__init__(self, make, model, year, weight, )
self.drive = drive
self.stop = stop
self.TripsSinceMaintenance = int(110)
def drive(self):
self.isDriving = True
if not self.isDriving & self.TripsSinceMaintenance <= int(100):
self.TripsSinceMaintenance_reading += self.Trips
def stop(self):
self.isDriving = False
if not self.isDriving or self.TripsSinceMaintenance >= int(100):
self.isDriving == True
def repair(self):
if self.TripsSinceMaintenance >= int(100):
self.update_TripsSinceMaintenance = 0 & self.stop == False
my_tesla = car('tesla', 'model s', 2016, '70k', False, False)
print(my_tesla)
<class '__main__.car'>: {'make': 'tesla', 'model': 'model s', 'year': 2016, 'weight': '70k', 'NeedsMaintenance': False, 'TripsSinceMaintenance': 110, 'drive': False, 'stop': False}
Печать правильно показывает автомобиль и его детали, но не делает именно то, что мне нужно. Мне нужно, чтобы счетчик TripsSinceMaintenance, изначально установленный на 0 в родительском классе, увеличивался при переключении isDriving с true на false. А затем, когда TripsSinceMaintenance превышает 100, логическое значение NeedsMaintenance должно быть установлено на true, а не на false, как изначально установлено.
Метод «Восстановить» также должен сбросить TripsSinceMaintenance на ноль, а NeedsMaintenance на false.
Я не уверен, нужно ли мне импортировать Counter или у меня неправильный метод для переключения True на False и многие поиски не помогли. Довольно новый для Python, поэтому любая помощь будет принята с благодарностью